当前位置: 首页 > news >正文

各大网站收录提交入口如何让网站关键词搜录

各大网站收录提交入口,如何让网站关键词搜录,seo策划方案,wordpress 每页文章数量SpringMVC 和 Struts2 就像武林中的两大门派#xff0c;虽然都是处理 Web 请求的高手#xff08;MVC 框架#xff09;#xff0c;但招式风格和内功心法大不相同。来#xff0c;咱们用最接地气的方式掰扯掰扯#xff0c;保准你笑着记住#xff01; 核心区别一句话概括虽然都是处理 Web 请求的高手MVC 框架但招式风格和内功心法大不相同。来咱们用最接地气的方式掰扯掰扯保准你笑着记住 核心区别一句话概括 Struts2 像是个 “中央集权” 的大家长啥事儿都得经过它规定的流程拦截器栈SpringMVC 则像是个 “自由灵活” 的居委会搭好平台让大家各种组件按约定自己玩儿依赖注入IoC它主要当个协调员DispatcherServlet。 详细版 “找不同” (带段子和例子) 出身和 “靠山” Struts2: 是 Struts1 和 WebWork 的 “混血儿”。它自己就是一个独立的、完整的 MVC 框架像一家自给自足的 “家族企业”。SpringMVC: 是 Spring 这个庞大 “生态帝国” 的亲儿子它天生就和 Spring 的核心功能IoC, AOP, 事务管理等无缝集成就像帝国里的 “皇太子”资源丰富调用其他部门Spring Bean超级方便。段子时刻 面试官问 Struts2“你爸是谁” Struts2“我自成一家” 问 SpringMVC“你爸是谁” SpringMVC 骄傲一指“看那边那个叫 Spring 的超级大佬就是我爹我出门办事刷他脸就行” 核心控制器 (Front Controller - “门卫大爷”) Struts2: FilterDispatcher (老版本) 或 StrutsPrepareAndExecuteFilter (新版本)。它是一个强大的过滤器(Filter)。所有请求都得先过它这关它负责整个请求生命周期的调度权力很大。SpringMVC: DispatcherServlet。它是一个标准的 Servlet。它更像一个总协调员收到请求后自己不干所有活而是把任务分派给其他组件HandlerMapping, Controller, ViewResolver 等。类比 Struts2 的门卫大爷不光看门还兼任登记、查包裹、甚至帮你把快递送到家门口。SpringMVC 的门卫大爷就负责登记来访者请求是谁然后喊“小王HandlerMapping查下这人去哪屋小李Controller3号屋的客人来了你接待一下老张ViewResolver客人要看资料你帮忙找找” 控制器 (Controller - “业务处理员”) Struts2: Action 类。通常需要继承特定的基类如 ActionSupport。Action 类本身在 Struts2 中默认是多例的每次请求创建一个新实例。SpringMVC: Controller 注解标记的类或者实现 Controller 接口但注解方式更流行。不需要继承特定类就是一个普通的 POJO (Plain Old Java Object)。控制器方法用 RequestMapping 等注解标记。SpringMVC 的控制器默认是单例的由 Spring IoC 容器管理更轻量高效。例子 类比 Struts2 Action:public class LoginAction extends ActionSupport {private String username; // 属性自动封装请求参数private String password;public String execute() throws Exception {// 业务逻辑if (admin.equals(username) 123456.equals(password)) {return SUCCESS; // 返回字符串结果对应struts.xml里的result} else {return ERROR;}}// Getter/Setter 必须用于参数封装 }像是一个有固定工位和固定任务清单继承 ActionSupport 带来的功能 的员工。每次来新活请求就克隆一个新员工来处理多例。SpringMVC Controller:Controller RequestMapping(/user) public class UserController {Autowiredprivate UserService userService; // 轻松注入其他Spring管理的BeanGetMapping(/login) // 更精细的映射public String login(RequestParam String username, RequestParam String password, Model model) {// 业务逻辑通常调用Serviceboolean success userService.authenticate(username, password);if (success) {model.addAttribute(message, 登录成功);return welcome; // 返回视图名} else {model.addAttribute(error, 用户名或密码错误);return login;}} }像一个自由职业者挂靠在 Spring 平台Controller。平台给他派活RequestMapping 指定他能接什么活。他干活需要的工具UserService平台直接提供Autowired 依赖注入。他本身是个固定员工单例高效复用。 请求参数处理 (“收快递”) Struts2: 主要依赖属性封装 在 Action 类中定义与请求参数同名的属性并提供 public 的 getter/setter 方法。Struts2 会利用 OGNL (Object-Graph Navigation Language) 自动把请求参数塞到这些属性里。也可以使用 ModelDriven 接口封装到模型对象。耦合性相对较高Action 类里一堆属性。SpringMVC: 方式超级灵活 方法参数绑定 直接在控制器方法参数列表声明用注解指定来源 RequestParam获取单个请求参数。PathVariable获取 RESTful 风格的 URL 路径变量。RequestBody获取请求体内容如 JSON自动绑定到对象。ModelAttribute绑定到模型对象也可以用于非请求参数的预加载。HttpServletRequest, HttpSession 等直接获取原生对象。 对象自动封装 如果方法参数是一个 POJOSpringMVC 会尝试自动将匹配的请求参数绑定到该对象的属性同样需要 setter。 类比 Struts2 收快递要求你必须在家门口放好对应大小和名字的空箱子Action 里的属性快递员框架按名字把包裹参数塞进去。SpringMVC 收快递你可以告诉快递员“放桌上RequestParam”、“放厨房第二个柜子PathVariable”、“整个包裹给我我亲自拆HttpServletRequest” 或者 “按说明书组装好放客厅自动绑定到POJO”。 拦截机制 (“关卡检查”) Struts2: 核心是 Interceptor (拦截器) 和 Interceptor Stack (拦截器栈)。Struts2 的整个处理流程参数准备、验证、执行Action、结果渲染等都是由一系列定义好的拦截器完成的。开发者可以配置使用哪些拦截器以及它们的顺序。拦截器是 Struts2 的绝对核心SpringMVC: 使用 HandlerInterceptor 接口。开发者可以实现该接口定义 preHandle, postHandle, afterCompletion 方法并在配置中注册。拦截器主要作用于 Controller 方法执行的前后以及视图渲染之后。SpringMVC 的核心流程映射、适配、执行、渲染是相对固定的拦截器是在这个流程的特定点插入的钩子。另外Spring 强大的 AOP (面向切面编程) 也可以用于实现更通用的横切关注点。段子时刻 想象你进 Struts2 大楼办事。门口安检拦截器1- 登记拦截器2- 业务审核拦截器3- 见办事员Action- 结果盖章拦截器4- 离开通知拦截器5。必须走完整个预设的安检通道 进 SpringMVC 大楼门口保安DispatcherServlet问你去哪然后你直接去办事员Controller那。但保安可以在你进办事员门前preHandle、出办事员门后postHandle、离开大楼时afterCompletion对你进行抽查HandlerInterceptor。更自由检查点可选 视图技术 (“展示成果”) Struts2: 默认使用 OGNL 表达式 在视图如 JSP中访问值栈ValueStack中的数据。值栈是 Struts2 存储 Action 和相关对象的地方。也支持 JSP, FreeMarker, Velocity 等。SpringMVC: 解耦得非常好 通过 ViewResolver 和 View 接口实现。开发者配置好 ViewResolver (如 InternalResourceViewResolver 对应 JSP, FreeMarkerViewResolver 对应 FreeMarker)控制器只需要返回一个逻辑视图名字符串ViewResolver 负责找到真正的视图实现View 对象来渲染。在视图中通常使用 JSTL/EL 表达式 (JSP) 或模板引擎自己的语法来访问模型数据放在 Model / ModelMap / ModelAndView 对象中的数据。更标准更符合 Servlet/JSP 规范。类比 Struts2 展示成果办事员Action把报告直接放在一个特定的展示台ValueStack上观众视图必须用特制的眼镜OGNL才能看清楚内容。SpringMVC 展示成果办事员Controller把报告交给讲解员ViewResolver 和 View说“这是给客户的报告逻辑视图名 report”。讲解员根据客户类型配置的视图技术决定是用普通话讲JSPEL、用英语讲FreeMarker还是放幻灯片PDF 视图并用客户能理解的方式EL/模板语法展示报告内容模型数据。 配置方式 (“定规矩”) Struts2: 重度依赖 struts.xml 文件。Action、Result、Interceptor、常量配置等都在这里。虽然支持注解但核心配置还是 XML 为主。比较集中但也可能变得庞大。SpringMVC: 极其灵活 XML 配置 传统的 *-servlet.xml 文件配置 HandlerMapping, ViewResolver, 拦截器等。纯 Java 配置 (主流) 使用 Configuration 类结合 EnableWebMvc 和实现 WebMvcConfigurer 接口来配置所有 MVC 相关组件。干净、类型安全、现代注解驱动 (主流中的主流) 大量使用 Controller, RequestMapping, RequestParam, PathVariable, ResponseBody 等注解在代码中声明式配置极大简化开发。结合 Java 配置XML 几乎可以消失。 类比 Struts2 定规矩像写一本厚厚的公司制度手册struts.xml所有流程写得清清楚楚改制度就得翻手册。SpringMVC 定规矩你可以选择写手册XML也可以选择开个会口头宣布Java 配置或者给每个员工发个电子备忘录注解方式灵活与时俱进。 性能和社区 Struts2: 历史包袱较重早期版本因 OGNL 和安全问题如远程代码执行漏洞受到诟病。性能相对 SpringMVC 稍逊一筹主要因为拦截器栈的深度和 ValueStack 的操作。社区活跃度和新特性发展相对缓慢。很多新项目不再选择。SpringMVC: 作为 Spring 生态一部分性能优化好轻量高效尤其默认单例 Controller。社区极其活跃文档丰富与 Spring Boot 结合后成为 Java Web 开发事实上的标准。安全性和最佳实践更受推崇。 终极总结 面试金句 架构哲学 Struts2 是 “重量级、侵入式、流程固定” 的中央集权SpringMVC 是 “轻量级、非侵入式相对、高度可定制、与 Spring 生态深度集成” 的自由联邦。核心差异点 控制器 Struts2 需继承多例SpringMVC 是 POJO 注解单例。参数绑定 Struts2 靠属性OGNL耦合高SpringMVC 靠灵活的方法参数绑定注解解耦好。拦截器 Struts2 的拦截器栈是核心流程SpringMVC 的拦截器是流程中的钩子。视图 Struts2 强绑定 OGNL值栈SpringMVC 标准解耦 ViewResolver EL/模板。配置 Struts2 重度 XMLSpringMVC 拥抱 Java 配置 注解。生态 未来 SpringMVC Spring Boot 是 绝对主流和趋势Struts2 逐渐成为 “上古” 技术维护老项目才会接触。 幽默收尾 面试时如果被问到可以笑着说“这就像问现在出门是骑马Struts2还是开车SpringMVC。虽然马儿也曾风光无限但时代变了老司机们都开 SpringMVC 这辆 ‘Spring Boot 超跑’ 了当然如果贵司马厩里老系统还有几匹 Struts2 的千里马需要照顾我也略懂驯马术维护经验。” 记住这些核心点结合生动的类比面试官想不给你加分都难加油
http://www.hkea.cn/news/14427175/

相关文章:

  • 网站规划步骤网站轮播图片怎么做
  • 怎么知道自己的网站被k软件推广赚钱
  • 海外购物网站排名安徽设计公司排名
  • 海外网站推广有网但是网页打不开是什么原因
  • 平台网站很难做双井网站建设公司
  • mc建筑网站有什么国企是做网站的
  • 大连自助建站如何做好网络宣传工作
  • vi设计网站大全wordpress rss解析
  • 网站建设对公司的发展石家庄网络推广公司
  • eclipse开发微网站开发展示型网站包含哪些模块
  • 建设网站市场分析动易网站 模板
  • 可以做课后作业的网站免费咨询婚姻律师回答在线
  • 福田莲花网站建设canva可画官网
  • 网站后台生成html我想做代理
  • 网站关键词和网站描述微信公众号开发流程
  • 门户网站简介网站建设需要多少技术
  • 免费cms建站五指贵阳百度推广电话
  • 财经直播的网站开发一个多少钱电子商务和网络营销的区别
  • 网站建设商业计划书范文邢台中高风险地区查询
  • 手机网站建设计提升网站建设品质信息
  • 国外网站 图片住房和城乡建设查询平台官网
  • 网站开发 商标第几类兰州做网站哪家专业
  • 纯静态网站 后台怎样新建一个网页
  • 做网站有要求吗wordpress文章直接转html代码
  • 门户网站兴化建设局品牌网站建设必在大蝌蚪
  • 所以免费爱做网站wordpress底部功能按钮
  • 网站建设中目录是什么意思做er图的网站
  • 东莞网站推广渠道有哪些工业设计工资一般多少
  • 网站管理后台文章排序如何做360网站优化
  • 网站开发需求调研好看的页面图片