springmvcdispatcher说明

上传人:xiao****1972 文档编号:84826985 上传时间:2019-03-05 格式:DOC 页数:21 大小:129.50KB
返回 下载 相关 举报
springmvcdispatcher说明_第1页
第1页 / 共21页
springmvcdispatcher说明_第2页
第2页 / 共21页
springmvcdispatcher说明_第3页
第3页 / 共21页
springmvcdispatcher说明_第4页
第4页 / 共21页
springmvcdispatcher说明_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《springmvcdispatcher说明》由会员分享,可在线阅读,更多相关《springmvcdispatcher说明(21页珍藏版)》请在金锄头文库上搜索。

1、DispatcherServlet说明使用Spring MVC,配置DispatcherServlet是第一步。DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet。DispatcherServlet是前置控制器,配置在web.xml文件中的。拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。“某某规则”:是根据你使用了哪个HandlerMapping接口的实现类的不同而不同。先来看第一个例子:Xml代码 1. 2. 3. example 4.

2、org.springframework.web.servlet.DispatcherServlet 5. 1 6. 7. 8. example 9. *.form 10. 11. 1是启动顺序,让这个Servlet随Servletp容器一起启动。*.form 会拦截*.form结尾的请求。example这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。每一个DispatcherServlet有自己的WebApplicationContext上下文对象。同时保存的ServletContext中和Request对象中,关于key,以后说明。

3、在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为servlet-name-servlet.xml 的配置文件,生成文件中定义的bean。第二个例子:Xml代码 1. 2. springMVC 3. org.springframework.web.servlet.DispatcherServlet 4. 5. contextConfigLocation 6. classpath*:/springMVC.xml 7. 8. 1 9. 10. 11. springMVC 12. / 13. 指明了配置文件的文件名,不使用默认配置文件名,而使用s

4、pringMVC.xml配置文件。其中*.xml 这里可以使用多种写法1、不写,使用默认值:/WEB-INF/-servlet.xml2、/WEB-INF/classes/springMVC.xml3、classpath*:springMVC-mvc.xml4、多个值用逗号分隔Servlet拦截匹配规则可以自已定义,Servlet拦截哪种URL合适?当映射为RequestMapping(/user/add)时:1、拦截*.do,例如:/user/add.do,弊端:所有的url都要以.do结尾。不会影响访问静态文件。2、拦截/app/*,例如:/app/user/add,弊端:请求的url都要

5、包含/app,RequestMapping(/user/add)中不须要包含/app。3、拦截/,例如:/user/add,弊端:对jpg,js,css静态文件的访问也被拦截不能正常显示。后面有解决办法。4、拦截/*,可以走到Action中,但转发到jsp时再次被拦截,不能访问到jsp。五、双亲上下文的说明如果你使用了listener监听器来加载配置,一般在Struts+Spring+Hibernate的项目中都是使用listener监听器的。如下Java代码 1. 2. org.springframework.web.context.ContextLoaderListener 3. Spri

6、ng会创建一个全局的WebApplicationContext上下文,称为根上下文,保存在ServletContext中,key是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE属性的值。可以使用工具类取出上下文:WebApplicationContextUtils.getWebApplicationContext(ServletContext);DispatcherServlet是一个Servlet,可以同时配置多个,每个DispatcherServlet有一个自己的WebApplicationContext上下文,这个

7、上下文继承了根上下文中所有东西。保存在ServletContext中,key是org.springframework.web.servlet.FrameworkServlet.CONTEXT+Servlet名称。当一个Request对象产生时,会把这个WebApplicationContext上下文保存在Request对象中,key是DispatcherServlet.class.getName() + .CONTEXT。可以使用工具类取出上下文:RequestContextUtils.getWebApplicationContext(request);Spring中的 Application

8、Context实例可以被限制在不同的作用域(scope)中。在web MVC框架中,每个 DispatcherServlet有它自己的WebApplicationContext ,这个context继承了根 WebApplicationContext 的所有bean定义。这些继承的bean也可以在每个serlvet自己的所属的域中被覆盖(override),覆盖后的bean 可以被设置上只有这个servlet实例自己使用的属性。总结:不使用listener监听器来加载spring的配置,改用DispatcherServlet来加载spring的配置,不要双亲上下文,只使用一个Dispatche

9、rServlet,事情就简单了,什么麻烦事儿也没有了。六、springMVC-mvc.xml 配置文件片段讲解(未使用默认配置文件名)Xml代码 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 扫描指定的包中的类上的注解,常用的注解有:Controller 声明Action组件Service 声明Service组件 Service(myMovieLister)Repository 声明Dao组件Component 泛指组件, 当不好归类时.RequestMapping(/menu) 请求映射Resource 用于注入,( j2ee提供的 ) 默认按名称装配,Resource

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号