查看“Springmvc.xml解析”的源代码
←
Springmvc.xml解析
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:SpringMVC]] __TOC__ == 关于<mvc:default-servlet-handler/> == RESTful风格的URL不带 .html 或 .do 等后缀,所以会将DispatcherServlet请求映射配置为"/"(<syntaxhighlight lang="xml" inline><url-pattern>/</url-pattern></syntaxhighlight>),这就对静态资源的访问带来了影响:<br/> <pre> SpringMVC将捕获Web容器所有请求都看作是一个普通的请求,包括对于静态资源的请求。这样以来,所有对于静态资源的请求都会被看作是一个普通的后台控制器请求,导致请求找不到而报 404 异常错误。 (即:DispatcherServlet完全取代了default servlet,将不会再访问容器中原始默认的servlet,而对静态资源的访问就是通过容器默认servlet处理的,故而这时候静态资源将不可访问。) </pre> 如何让Spring框架能够捕获所有URL的请求,同时又将静态资源的请求转由Web容器处理,是可将DispatcherServlet的请求映射配置为"/"的前提。Spring框架给出了两种解决方案:<br/> === <mvc:default-servlet-handler/> === 在xml文件中配置<mvc:default-servlet-handler/>后,会在Spring MVC上下文中定义一个<syntaxhighlight lang="java" inline>org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler</syntaxhighlight>,对进入 DispatcherServlet 的 URL 进行筛查,静态资源由 Web 服务器默认的 Servlet 处理,非静态资源的请求,由 DispatcherServlet 处理。 <syntaxhighlight lang="xml"> <mvc:default-servlet-handler/> </syntaxhighlight> * 一般Web应用服务器默认的Servlet名称是“default”。如果所使用的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定: *: <syntaxhighlight lang="xml" inline><mvc:default-servlet-handler default-servlet-name="所使用的Web服务器默认使用的Servlet名称" /></syntaxhighlight> === <mvc:resources /> === springMVC中使用<mvc:resources />可以实现对静态资源(如js、css、img)进行映射访问:(参考[http://wiki.eijux.com/SpringMVC%EF%BC%9A%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8#.E9.9D.99.E6.80.81.E8.B5.84.E6.BA.90.E8.AE.BF.E9.97.AE.3Cmvc:resources.3E]) # <mvc:resources>由springMVC框架自己处理资源,与容器无关; # 隐藏了真实路径结构; # 允许静态资源放在任何地方; #: 如WEB-INF目录下、类路径下,甚至打到JAR包中; #: 可在location属性中使用诸如“classpath:”等的资源前缀指定资源位置; * (“/”:表示WebRoot目录) <syntaxhighlight lang="xml"> <mvc:resources location="/js/,/jquery/,/WEB-INF/jscript/,classpath:/META-INF/publicResources/" mapping="/resources/**"/> </syntaxhighlight> === 区别 === * <mvc:default-servlet-handler />将静态资源的处理经由Spring MVC框架交回Web应用服务器处理。 * 而<mvc:resources />由Spring MVC框架自己处理静态资源。 == 关于<mvc:view-controller/> ==
返回至“
Springmvc.xml解析
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息