struts2配置文件详解(struts2和springMVC的区别)

struts2配置文件详解(struts2和springMVC的区别)

可以谈一谈Struts2 和SpringMVC 在请求-响应模型的上的区别。

struts2是通过filter实现的请求转发(或者说请求的初步处理)和初始化操作springmvc是通过servlet实现的请求转发和初始化

Struts2处理请求是为每个请求都创建一个单独的Action类,Action类当中的Field属性参数作为输入和输出参数用IOC来依赖注入的方式,是基于类的。

而SpringMVC则采用输入Request和Reponse作为参数,返回ModelAndView的方式,是单例的模式,且是基于方法的模式。

无论是在web系统的开发中,还是在网络游戏的开发中,都会牵涉到request和response参数的处理问题,如何将request和reponse参数对应到我们的设计中,采用什么样的方式,处理情况是各种各种的。

SpringMVC的几大组件:1)DispatcherServlet 根据请求的不同,将请求分发到不同的Controller处理器2)Dispatcher 具体处理请求,返回逻辑视图3)Handler Mapping 3)ModelAndView 返回的逻辑视图,注意,是逻辑视图,并不是真正的视图比如JSP页面,而是通过通过视图解析器VierResoler解气逻辑视图,返回真正的要发送给前端的视图4)ViewResolver View 视图解析类

SpringMVC集成了Ajax,使用非常方便,只需一个注解@ResponseBody就可以实现,然后直接返回响应文本即可,而Struts2拦截器集成了Ajax,在Action中处理时一般必须安装插件或者自己写代码集成进去,使用起来也相对不方便。

SpringMVC验证支持JSR303,处理起来相对更加灵活方便,而Struts2验证比较繁琐,感觉太烦乱。

Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高(当然Struts2也可以通过不同的目录结构和相关配置做到SpringMVC一样的效果,但是需要xml配置的地方不少)。

设计思想上,Struts2更加符合OOP的编程思想, SpringMVC就比较谨慎,在servlet上扩展。

最后再补充一点SpringMVC开发效率和性能高于Struts2,SpringMVC可以认为已经100%零配置。

struts2有配置文件就是struts.xml以及是dao biz action 三层

springMVC大体上是0配置只有service和 Controller 两层

推荐阅读

Recommended reading

|人生禅语 每日禅话

|看完了才知道自己的生活

|月上梢头,人约黄昏后

|会说是能力会听是智慧

|人生修养,每日禅话

|人生需要一点点悟

|每日禅话,如何对待自己!

发表评论

登录后才能评论