java面试题网

普通会员

483

帖子

9

回复

187

积分

楼主
发表于 2019-08-26 15:24:39 | 查看: 5020| 回复: 0

再解<url-pattern/>(掌握)

再解<url-pattern/>(掌握)

配置详解

(1) 建议写为*.do 形式

在没有特殊要求的情况下,SpringMVC 的中央调度器 DispatcherServlet 的 常使用后辍匹配方式,如写为*.do 或者 *.action, *.mvc 等,页面都不能访问。

(2) 可以写为 /

可以写为 /,因为 DispatcherServlet 会将向静态资源的获取请求,例如.css、.js、.jpg、.png 等资源的获取请求,当作是一个普通的 Controller 请求。中央调度器会调用处理器映射器为其查找相应的处理器。当然也是找不到的,所以在这种情况下,所有的静态资源获取请求也均会报 404 错误。

项目:url-pattern。在项目 primary 基础上进行修改。

需求:在 index.jsp 页面中存在一个访问图片的链接。该项目用于演示将 写为*.do 可以访问到该图片,而写为/,则无法访问。

A、 在项目中添加图片

在项目的 WebRoot 下添加一个目录 images,并在其中添加一张图片资源。

再解<url-pattern/>(掌握)_www.wityx.com

B、 修改 index 页面

再解<url-pattern/>(掌握)_www.wityx.com

C、 修改 的值

保持 的值为 *.do,扩展名方式,图片会正常显示。

的值修改为 / ,则图片将无法显示。

静态资源访问

的值并不是说写为/后,静态资源就无法访问了。经过一些配置后,该问题也是可以解决的。

(1) 使用 (理解)

在 Tomcat 中,有一个专门用于处理静态资源访问的 Servlet – DefaultServlet。其 为 default。可以处理各种静态资源访问请求。该 Servlet 注册在 Tomcat 服务器的 web.xml 中。在 Tomcat 安装目录/conf/web.xml

再解<url-pattern/>(掌握)_www.wityx.com

表示使用 DefaultServletHttpRequestHandler 处理器对象。

而该处理器调用了 Tomcat 的 DefaultServlet 来处理静态资源的访问请求。如果默认的 servlet 名称不是 default,需要使用属性 default-servlet-name 指定 servlet 的名称,

例如:

Tomcat, Jetty 默认 Servlet 的名字 -- "default"

WebLogic 默认 Servlet 的名字 -- "FileServlet"

WebSphere 默认 Servlet 的名字 -- "SimpleFileServlet"

当然了,要想使用 标签,需要引入 mvc 约束

再解<url-pattern/>(掌握)_www.wityx.com

该约束可从 Spring 帮助文档中搜索关键字 spring-mvc.xsd 即可获取:

docs/spring-framework-reference/htmlsingle/index.html

(2) 使用 (掌握)

项目:url-pattern-3。在项目 url-pattern 基础上修改。

在 Spring3.0.4 版本后,Spring 中定义了专门用于处理静态资源访问请求的处理器 ResourceHttpRequestHandler。并且添加了 标签,专门用于解决静态资源无法访问问题。需要在 springmvc.xml 中添加如下形式的配置:

再解<url-pattern/>(掌握)_www.wityx.com

location 表示静态资源所在目录。当然,这里的目录包含/WEB-INF/目录及其子目录。

mapping 表 示 对 该 资 源 的 请 求 ( 以 /images/ 开 始 的 请 求 , 如 /image/beauty.jpg , /images/car.png 等)。注意,后面是两个星号**。


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/1216_1_1.html

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018