DispatcherServlet学习笔记
来源:互联网 发布:foxmail咋样知乎 编辑:程序博客网 时间:2024/06/05 00:51
<servlet> <servlet-name>chapter2</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>chapter2</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:
1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);
3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);
4、通过ViewResolver解析逻辑视图名到具体视图实现;
5、本地化解析;
6、渲染具体的视图等;
7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。
所以如果指定了/目录就会拦截所以请求,当作一种视图解析。如你访问/ta.html 就会被拦截请求,内部可能是默认能解析.jsp,所以能直接解析。
如果要能访问.html,有几种方式
1、就要配置默认的servlte拦截
交给默认的服务器容器如tomcat的servlte处理
再web.xml中加入
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.html</url-pattern></servlet-mapping>2、spring-mvc中加入<mvc:default-servlet-handler/>
把一些请求不到的资源,交给默认的servlte处理
在springMVC-servlet.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。
一般Web应用服务器默认的Servlet名称是"default",因此DefaultServletHttpRequestHandler可以找到它。如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定:
<mvc:default-servlet-handler default-servlet-name="所使用的Web服务器默认使用的Servlet名称" />
3、配置<mvc:resources
对于WEB-INF目录的文件是不能直接访问的,都要通过controller,然后经过视图解析器如InternalResourceViewResolver
参考
http://www.cnblogs.com/dflmg/p/6393416.html
- DispatcherServlet学习笔记
- spring学习笔记之DispatcherServlet源码解读
- springMVC学习笔记二(dispatcherServlet)
- Spring MVC学习笔记(一) DispatcherServlet分析
- spring学习11-DispatcherServlet.properties DispatcherServlet.properties
- SpringMVC学习笔记(一) DispatcherServlet初始化详解(应用上下文的初始化)
- Spring 学习笔记(8)—— SpringMVC 简介、DispatcherServlet 配置
- Spring MVC学习-----------DispatcherServlet说明
- Spring MVC学习-----------DispatcherServlet说明
- Spring MVC中的DispatcherServlet学习
- springMVC学习之-------DispatcherServlet类
- spring学习之DispatcherServlet详解
- DispatcherServlet
- DispatcherServlet
- dispatcherServlet
- DispatcherServlet
- DispatcherServlet
- DispatcherServlet
- GBDT
- Linux\Android IO\内存信息统计
- Shader编程学习笔记(九)—— Cg语言入门1
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
- JavaScript基础知识
- DispatcherServlet学习笔记
- 用lua扩展你的Nginx(转载)
- Cesium 学习记录(1) 搭建Cesium开发环境
- uva 1252 最少看几位数字 就可以分辨出所有的二进制数字
- javamail利用socks5代理发送邮件
- 栈的应用--迷宫问题
- x-code打包Ipa
- 通过web.config文件配置项目中文件夹的访问权限
- NIO学习(一) java nio介绍