【问题标题】:Restful services - Unable to access pages (jsp) even after rest filter configRestful服务-即使在rest过滤器配置之后也无法访问页面(jsp)
【发布时间】:2014-11-26 13:09:56
【问题描述】:

使用下面的 web.xml(没有过滤器配置)我可以连接到休息服务,但在此之后我无法访问 servlet.so 下的 JSP 页面,所以在 web 应用程序标记中包含一个过滤器,以便轻松休息,但是插入过滤器后,ear 文件无法在 JBOSS 中部署,所以我在这里错误地处理了过滤器。

<display-name>Archetype Created Web Application</display-name>

<context-param>
    <param-name>resteasy.jndi.resources</param-name>
    <param-value>RNO/routebean/no-interface</param-value>
</context-param>   

<listener>
    <listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>

<servlet>
    <servlet-name>Resteasy</servlet-name>
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>   

<servlet-mapping>
    <servlet-name>Resteasy</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>


<filter>
    <filter-name>Resteasy</filter-name>
    <filter-class>org.jboss.resteasy.plugins.server.servlet.FilterDispatcher</filter-class>
    <init-param>
        <param-name>resteasy.scan</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>Resteasy</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>


</web-app>

【问题讨论】:

标签: java jsp rest resteasy


【解决方案1】:

如果您将 Resteasy servlet 映射到 /* 要求容器将所有 URL 提供给 servlet。一个常见的用法是将 servlet 映射到一组受限制的 URL,例如:

<servlet-mapping>
    <servlet-name>Resteasy</servlet-name>
    <url-pattern>/myrest/*</url-pattern>
</servlet-mapping>

(我使用myrest,因为它是您在评论中提供的示例)

【讨论】:

    【解决方案2】:

    我在RESTEasy Application 的帮助下找到了解决方案,但使用了我的 web.xml,如下所示。它像我预期的那样工作,休息请求命中了休息 pojo,jsp 请求命中了映射的 servlet。

    <!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>  
    
    <filter>
        <filter-name>Resteasy</filter-name>
        <filter-class>
            org.jboss.resteasy.plugins.server.servlet.FilterDispatcher
        </filter-class>
        <init-param>
            <param-name>javax.ws.rs.Application</param-name>
            <param-value>me.sample.HelloApplication</param-value>
        </init-param>
    </filter>
    
    <filter-mapping>
        <filter-name>Resteasy</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    
    </web-app>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多