JavaServlets、JAX-RS—在基于表单的身份验证工作时遇到问题

JavaServlets、JAX-RS—在基于表单的身份验证工作时遇到问题,java,servlets,jersey,java-ee-6,jax-rs,Java,Servlets,Jersey,Java Ee 6,Jax Rs,我使用JAX-RSJersey作为我的控制器,使用JSP作为我的视图。以下是一个例子: @Path("/") @Stateless public class HomeController { @Context private HttpServletRequest request; @EJB private EmployeeServiceLocal employeeService; @GET public Viewable getHomePag

我使用JAX-RSJersey作为我的控制器,使用JSP作为我的视图。以下是一个例子:

@Path("/")
@Stateless
public class HomeController {

    @Context
    private HttpServletRequest request;

    @EJB
    private EmployeeServiceLocal employeeService;

    @GET
    public Viewable getHomePage() {
        Employee employee = employeeService.getEmployeeById(1);
        request.setAttribute("employee", employee);
        return new Viewable("/home.jsp", null);
    }
}
在我尝试使用JAAS实现身份验证之前,一切都运行得很好。我相信现在发生的事情是,我的过滤器阻止服务器处理我的j_安全检查请求(我正在使用jdbcRealm的基于表单的身份验证)。我认为这是因为我在提交登录表单时出现以下错误:

The requested resource () is not available.
这有意义吗?如何使我的筛选器不应用于/j_安全检查

这是我在web.xml中的过滤器配置

<filter>
  <filter-name>Jersey Filter</filter-name>
  <filter-class>com.sun.jersey.spi.container.servlet.ServletContainer</filter-class>
  <init-param>
    <param-name>com.sun.jersey.config.feature.Redirect</param-name>
    <param-value>true</param-value>
  </init-param>
  <init-param>
    <param-name>com.sun.jersey.config.property.packages</param-name>
    <param-value>cheetah.frontend.controllers</param-value>
  </init-param>
  <!-- pass to next filter if Jersey/App returns 404 -->
  <init-param>
    <param-name>com.sun.jersey.config.feature.FilterForwardOn404</param-name>
    <param-value>true</param-value>
  </init-param>
  <!-- match regex to determine if Jersey/App is invoked or pass to next filter -->
  <init-param>
    <param-name>com.sun.jersey.config.property.WebPageContentRegex</param-name>
    <param-value>/(images|css|jsp)/.*</param-value>
  </init-param>
</filter>

<filter-mapping>
  <filter-name>Jersey Filter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

泽西过滤器
com.sun.jersey.spi.container.servlet.ServletContainer
com.sun.jersey.config.feature.Redirect
真的
com.sun.jersey.config.property.packages
猎豹。前端。控制器
com.sun.jersey.config.feature.FilterForwardOn404
真的
com.sun.jersey.config.property.WebPageContentRegex
/(图片| css | jsp)/*
泽西过滤器
/*

感谢您的帮助。

我在GlassFish中也使用了类似的代码(appserver甚至没有将j_security_check调用传递给servlet并自行处理)。您是否在web.xml中包含登录配置并设置了身份验证安全约束?您正在使用哪个appserver