gpt4 book ai didi

java - 我的 servlet-mapping 直接匹配默认 servlet

转载 作者:行者123 更新时间:2023-12-01 12:22:08 24 4
gpt4 key购买 nike

我今天收到一些问题。

下面是我的 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

我希望这样

  1. 这种情况下的请求映射到静态资源 servlet

    • http://myserver/static-resource/test.js
    • http://myserver/static-resource/images/img1.jpg
    • http://myserver/static-resource/test.xml
  2. 这种情况下的请求映射到 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;_ThreadName=Thread-1;|未找到 HTTP 映射在名为“dispatcher”的 DispatcherServlet 中使用 URI [/static-resource/test.js] 进行请求|#]

所以,我想知道,为什么整个请求都映射到 dispatcher servlet?有人帮帮我吗?

更新

<小时/>

抱歉我的错误,我纠正了错误输入,但仍然响应 404 错误。嗯...可能还有其他问题吗?

最佳答案

Servlet 映射是在最具体的 URL 匹配的基础上完成的。因此,您使用的是正确的方法,但只是在您的 URL 中犯了一个单词 static 的拼写错误:

<url-pattern>/statis-resource/*</url-pattern>

更改为

<url-pattern>/static-resource/*</url-pattern>

关于java - 我的 servlet-mapping 直接匹配默认 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26599657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com