springmvc

java_hh 贡献于2016-04-14

作者 YTAO  创建于2014-09-25 17:10:00   修改者YTAO  修改于2014-09-25 19:29:00字数2458

文档摘要:Spring3.0及以后版本将Spring的jar包按功能进行了划分,主要jar包作用如下: org.springframework.aop-3.0.5.RELEASE.jar:与Aop编程相关的包 org.springframework.beans-3.0.5.RELEASE.jar:提供了简捷操作bean的接口 org.springframework.context-3.0.5.RELEASE.jar:构建在beans包基础上,用来处理资源文件及国际化 org.springframework.core-3.0.5.RELEASE.jar:spring核心包 org.springframework.web-3.0.5.RELEASE.jar:web核心包,提供了web层接口 org.springframework.web.servlet-3.0.5.RELEASE.jar:web 层的一个具体实现包
关键词:

Spring3.0及以后版本将Spring的jar包按功能进行了划分,主要jar包作用如下: org.springframework.aop-3.0.5.RELEASE.jar:与Aop编程相关的包 org.springframework.beans-3.0.5.RELEASE.jar:提供了简捷操作bean的接口 org.springframework.context-3.0.5.RELEASE.jar:构建在beans包基础上,用来处理资源文件及国际化 org.springframework.core-3.0.5.RELEASE.jar:spring核心包 org.springframework.web-3.0.5.RELEASE.jar:web核心包,提供了web层接口 org.springframework.web.servlet-3.0.5.RELEASE.jar:web 层的一个具体实现包 SpringMVC使用步骤: ①将所有的jar包导入到项目中 ②在src下创建SpringMVC的配置文件【spring-sevlet.xml】,在文件中引入如下xsd模式: *spring-beans-3.0.xsd *spring-context-3.0.xsd *spring-mvc-3.0.xsd *spring-util-3.0.xsd ③在web.xml中配置Spring的前端控制器(总控制器):DispatcherServlet ④创建一个控制器类(相当于Struts2中的Action类)用户接收用户请求【三种方式】 *创建一个类实现Controller接口:通过request接收数据 (org.springframework.web.servlet.mvc.Controller) *继承SimpleFormController类:可以以对象形式接收数据 *继承MultiActionController类:可以在一个控制器中创建多个方法处理多个请求 ⑤在spring-servlet.xml中配置后台控制器和url映射关系,三种控制器的配置如下图: (此部操作相当于在struts.xml中配置Action类) ⑥创建list.jsp页面 ⑦运行项目,在浏览器访问项目中的user.do,返回到list.jsp结果如下: ******************************************************************************* PS:我们可以在spring-servlet.xml中配置返回View解析器,如果配置了解析器,则可以在控制器中的处理方法中的ModelAndView省略视图的前缀路径和后缀名,例如: 相当于访问page文件夹下的list.jsp页面 ******************************************************************************* Spring MVC工作原理: (1)启动服务器,根据web.xml的配置加载前端控制器(也称总控制器)DispatcherServlet。在加载时会完成一系列的初始化动作。 (2)根据servlet的映射请求(上面的实例中针对.do 请求),并参照“控制器配置文件”(即spring-servlet.xml这样的配置)文件,把具体的请求分发给特定的后端控制器进行处理(比 如上例会分发给UserControl控制器进行处理) (3)后端控制器调用相应的逻辑层代码,完成处理并返回视图对象(ModelAndView)给前端处理器。 (4)前端控制器根据后端控制器返回的ModelAndView对象,并结合一些配置,返回一个相应的页面给客户端。 Spring MVC和Struts2的比较: Struts2 Springmvc 机制 基于filter机制 基于servlet机制 处理方式 Struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入 Struts2实际上是通过setter getter方法与request打交道的。Struts2中,一个Action对象对应一个request上下文。 Springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应。所以说从架构本身上 Springmvc就容易实现restful url。 性能 Sturts2是基于类,每次发一次请求都会实例一個 action ,每个action都会被注入属性。 Springmvc会稍微比Struts2快,Springmvc 是基于方法的设计。 参数传递 Struts2是在接受参数的时候,可以用属性来接受参数, 这就说明参数是让多个方法共享的。 Springmvc在接受参数的时候是基于方法的,每个方法都可设置自己的参数。 设计思想 Struts2更符合oop的编程思想。struts2脱离了servlet ,Struts2的action可以是一个普通的java类。 Springmvc在servlet上做扩展 Interceptor实现机制 Struts2有以自己的interceptor机制。 spring mvc 用的是独立的AOP方式。 优点 Struts2的 多层拦截器、 多实例action性能都很好,并不是导致性能问题的原因。 除了spring-mvc.xml,基本上可以做到零配置。方法的访问支持resutful风格,参数的传递和配置都很灵活,Spring3 mvc的验证也是一个亮点,支持JSR303,处理ajax的请求更是方便,只需一个注解@ResponseBody ,然后直接返回响应文本即可 缺点 Struts2由于采用了值栈,OGNL表达式等,会导致性能下降,很严重的下降。如果避免或减少使用这些,性能还是很好的。 基于springmvc的注解非常灵活方便,但是不利于维护,配置文件可以看清所有的mvc架构,易于维护,可读性强。

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档