【问题标题】:why prefix type of url-pattern did not work?(tomcat)为什么前缀类型的 url 模式不起作用?(tomcat)
【发布时间】:2012-08-31 11:48:32
【问题描述】:

我的请求 URL 为 hhhhttttppp://localhost:8180/myweb/ws/comment/save 和 下面是我的web.xml。我想了解为什么它没有将我的请求分派给我的流程类。

<url-pattern>/*</url-pattern> 运行良好。
<url-pattern>*.aa</url-pattern> 运行良好(更改 save.aa 的一些代码)
<url-pattern>/ws/*</url-pattern> 无效。

谁能给点建议?

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <display-name></display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>abc</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
            <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>com.myweb.comment</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>


    <servlet-mapping>
        <servlet-name>abc</servlet-name>
        <url-pattern>/ws/*</url-pattern>
    </servlet-mapping>
</web-app>

【问题讨论】:

  • 您能否也从您的 server.xml 中提供此应用程序的上下文定义?
  • 你试过了吗? :&lt;url-pattern&gt;ws/*&lt;/url-pattern&gt;
  • 上下文是 @Heidarzadeh ws/* 是无效的 url 模式
  • "hhhhttttppp://"?如果请求甚至到达 Tomcat 服务器,我会感到惊讶!
  • 其实是 http://.. --|||

标签: java tomcat web.xml


【解决方案1】:

/ws 只会匹配那个确切的路径(相对于上下文)

要捕获以下所有内容,请使用 /ws/

注意,最后一个不匹配 /ws

要获得两者,您需要两个映射

【讨论】:

    猜你喜欢
    • 2016-03-15
    • 2013-06-15
    • 2021-09-07
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 2017-11-28
    • 2014-08-23
    • 2021-11-15
    相关资源
    最近更新 更多