簡體   English   中英

如何在web.xml中為2個URL模式配置不同的filter和jersey servlet?

[英]How to configure different filter and jersey servlet for 2 url patterns in web.xml?

我為請求創建了其他過濾器。 我已經在web.xml中完成了以下配置:

<servlet>
        <servlet-name>jersey</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
            <param-value>com.core.api.filter.Filter1</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jersey</servlet-name>
        <url-pattern>/v1/*</url-pattern>
    </servlet-mapping>

      <servlet>
        <servlet-name>jersey</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
            <param-value>com.core.api.filter.Filter2</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>jersey</servlet-name>
        <url-pattern>/v2/*</url-pattern>
    </servlet-mapping>

但是在服務器啟動時,我遇到以下異常:

... 6 more

造成原因:javax.naming.NameNotFoundException:com-org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:106)處org.jboss.as.naming處的服務jboss.naming.context.java.com。在org.jboss.as.naming.NamingContext.lookup(NamingContext.java:193)處的NamingContext.lookup(NamingContext.java:207)在org.jboss.as.naming.InitialContext $ DefaultInitialContext.lookup(InitialContext.java:235)在org.jboss.as.naming.NamingContext.lookup(NamingContext.java:189)在javax.naming.InitialContext.lookup(InitialContext.java:417)在javax.naming.InitialContext.lookup(InitialContext.java:417)在com.sun.jersey.server.impl.cdi.CDIExtension.diveIntoJNDIContext(CDIExtension.java:288)上的com.sun.jersey.server.impl.cdi.CDIExtension $ 2.stepInto(CDIExtension.java:311) com.sun.jersey.server.impl.cdi.CDIExtension.getInitializedExtension(CDIExtension.java:231)的.jersey.server.impl.cdi.CDIExtension.lookupJerseyConfigJNDIContext(CDIExtension.java:308)...還有23個

16:20:25,252錯誤[org.jboss.as.controller.management-operation](控制器引導線程)​​WFLYCTL0013:操作(“部署”)失敗-地址:

我嘗試用Google搜索它,但沒有找到太多幫助。

請幫助我擺脫這個問題.....

提前致謝

如果您需要使用兩個不同的過濾器,則必須使用<filter-mapping>標記。

這個

<filter>
    <filter-name>Compression Filter</filter-name>
    <filter-class>CompressionFilter</filter-class>
    <init-param>
        <param-name>compressionThreshold</param-name>
        <param-value>10</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>Compression Filter</filter-name>
    <servlet-name>CompressionTest</servlet-name>
</filter-mapping>
<servlet>
    <servlet-name>CompressionTest</servlet-name>
    <servlet-class>CompressionTest</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>CompressionTest</servlet-name>
    <url-pattern>/CompressionTest</url-pattern>
</servlet-mapping>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM