spring3mvc真正入门资料_第1页
spring3mvc真正入门资料_第2页
spring3mvc真正入门资料_第3页
spring3mvc真正入门资料_第4页
spring3mvc真正入门资料_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、前言:你好,Spring3 MVC是一个非常好的MVC框架,在版本3.0发行后,越来越多的团队选择Spring3 MVC。 Spring3 MVC结构简单,其语言简单美观,而且他不灵活,性能也很好。官方下载网站为/downloadStruts2也是比较优秀的MVC框架,有很多优点,例如良好的结构。 然而,此处想说的是缺点,Struts2通过使用数值堆栈、OGNL方式、Struts2标签库等,应用的性能降低。 Struts2的多层断路器,多实例action的性能很好。 关于Spring MVC、Struts2和servlet比较的文章htt

2、p:/elf 8848./admin/blogs /Spring3 MVC的优点:1、Spring3 MVC的学习难易度比Struts2低,Struts2中不能使用的多功能太多。 啊,当然,这不是决定因素。2、Spring3 MVC可以简单地写性能优秀的程序,Struts2可以在任何地方小心地写性能优秀的程序(指MVC部分)。3、Spring3 MVC的灵活性是你无法想象的,Spring的可扩展性很好,Spring3 MVC当然也不落后,使用MVC框架不会感到任何限制。Struts2的很多优点:有点(啊,不公平吗? (请参见。)很多文章开头吹牛,要吸引读者的目光,调整读者的食

3、欲,大家都能感兴趣地向后看。 正文也不例外。 但是,我保证你看到后不会后悔。二、核心级和接口:首先,让我们了解一些重要的接口和类。 因为不知道现在他们在做什么,所以先认识他们,为以后认识他们打下了基础。DispatcherServlet - :前端工作装置控制器处理程序映射接口:处理请求的映射。handler映射接口的实现类:simpleurlhandlerappg通过配置文件将URL映射到控制器defaultannotationhandlermapping使用注释将URL映射到控制器类handler适配器接口-处理请求映射AnnotationMethodHandlerAdapter类通过注释

4、将URL映射到Controller类的方法控制器界面-控制器因为使用了Controller注释,所以添加了Controller注释的类可以用作控制器(Action )这个接口没有被使用.HandlerInterceptor界面-拦截器不,我们自己实现这个接口,完成监听器的工作。ViewResolver接口的实现类UrlBasedViewResolver类通过配置文件将视图名称传递给View进行处理InternalResourceViewResolver类比上述类增加了对JSTL的支持检视介面。JstlView类本地解析器界面HandlerExceptionResolver接口:异常处理simp

5、lemappingexceptions实现类ModelAndView类没有意图。三、核心流程图本图是我个人画的,有不谨慎的地方,大家来处理一下吧。 比总是没见过的强。四、DispatcherServlet的说明使用Spring MVC配置DispatcherServlet是第一步。因为DispatcherServlet是servlet,所以可以配置多个DispatcherServlet。DispatcherServlet是配置在web.xml文件中的前端控制器。 监听匹配请求,servlet自己定义匹配规则,根据某规则将监听到的请求分发到目标控制器进行处理。某规则:取决于使用哪个handler

6、映射接口的实现类。让我们看看第一个例子Xml代码123 example4 org.spring framework.web.servlet.dispatcher servlet5 1678 example9 *.form1011以启动顺序启动此Servletp容器。*.form监听*.form的最后一个请求。example此servlet的名称为example,可以有多个DispatcherServlet,通过名称来区分。 每个DispatcherServlet都有自己的WebApplicationContext上下文对象。 关于同时保存的ServletContext和Request对象中的k

7、ey,将在后面进行说明。在初始化DispatcherServlet时,框架在web应用程序的WEB-INF文件夹下查找名为servlet-name-servlet.xml的配置文件,并生成在该文件中定义的bean。第二个示例:Xml代码1213 springMVC14 org.spring framework.web.servlet.dispatcher servlet1516 contextConfigLocation17级路径* :/spring MVC.XML1819 1202122 springMVC23 /24指定配置文件的文件名,并使用springMVC.xml配置文件,而不是默认

8、配置文件名。其中*.xml这里可以进行各种各样的写法1、不写入,使用默认值:/WEB-INF/-servlet.xml2、/WEB-INF/classes/springMVC.xml三、等级路径* : spring MVC-MVC.XML4、多个值用逗号分隔servlet监听匹配规则可以自己定义。 哪个URL适合servlet监听?如果映射是 request映射(“/user/add”) :1、拦截*.do,例如:/user/add.do,弊病:所有的url以. do结束。 对静态文件的访问没有影响。2、监听/app/*,例如/app/user/add,弊端:请求的url中都必须包含/app,

9、 request映射(“/user/add”)中不需要包含/app。3、监听/,例如:/user/add,弊病:对jpg、js、css静态文件的访问也被监听并不正常显示。 以后有解决办法。4、可以去监听/*、Action,但是转发到jsp后会再次被监听,无法访问jsp。五、父母语境的说明如果使用监听器加载配置,则通常在Struts Spring Hibernate项目中使用监听器。 如下所示:Java代码2526 org.spring framework.web.context.contextloaderlistener27Spring创建一个称为根上下文的全局WebApplicationCo

10、ntext上下文并将其存储在ServletContext中。 key是webapplicationcontext.root _ web _ application _ context _ attribute属性的值。 您可以使用工具类签出上下文。 webapplicationcontextutils.getwebapplicationcontext (servlet context )DispatcherServlet是一个servlet,可以同时配置多个DispatcherServlet,每个DispatcherServlet都有自己的WebApplicationContext上下文,该上下

11、文是根上下文保存在ServletContext中,key是org.spring framework.web.servlet.framework servlet.context servlet名称。 生成Request对象后,此WebApplicationContext上下文被保存在Request对象中。 key是dispatcher servlet.class.getname () .context 。 您可以使用工具类签出上下文。 requestcontentutils.getwebapplicationcontext (request )Spring中的应用程序上下文实例可以限制在不同的范围内。在web MVC框架中,每个DispatcherServlet都有自己的WebApplicationContext,该context继承了根WebApplicationContext的所有bean定义。可以为servet所属的每个域复盖继承的bean,也可以将复盖的bean设置为仅由该servet的实例使用的属性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论