我今天得到一些问题。
以下是我的web.xml
的servlet映射内容<servlet>
<servlet-name>static-resource</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>static-resource</servlet-name>
<url-pattern>/statis-resource/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我的应用程序目录结构是:
/WEB-INF
/static-resource
我希望这个
请求的这种情况是映射到static-resource
servlet
http://myserver/static-resource/test.js
http://myserver/static-resource/images/img1.jpg
http://myserver/static-resource/test.xml
请求的这种情况是映射到dispatcher
servlet
http://myserver/other/whole/uri
但是,我的web.xml是直接映射到dispatcher
servlet的整个请求。
以下是我的glassfish服务器登录请求
[#| 2014-10-28T09:54:27.722 + 0900 |警告| glassfish3.1 | org.springframework.web.servlet.PageNotFound | _ThreadID = 680; _TreadName = Thread-1; |找不到HTTP的映射在DispatcherServlet中使用URI [/static-resource/test.js]请求,名称为“dispatcher”|#]
所以,我想知道为什么整个请求都映射到dispatcher
servlet?
有人帮我吗?
更新
抱歉我的错误,我纠正错误但仍然回复404错误。嗯...可能还有其他问题?
答案 0 :(得分:1)
Servlet映射是在最特定的URL匹配的基础上完成的。所以你正在使用正确的方法,但只是在你的URL中输入字静态错误:
<url-pattern>/statis-resource/*</url-pattern>
将其更改为
<url-pattern>/static-resource/*</url-pattern>