我无法使用weblogic 12.1.3通过Jersey 2.22.1中的@Context在ContainerRequestFilter中注入HttpServletRequest.我研究了这个问题存在的几个地方,并且在很多地方我看到它在Jersey 2.4中得到修复,但我仍然看到这个问题.我的实现和代码已附加.如果我遗失任何东西,请告诉我.
AuthFilter筛选
@Provider
@Priority(Priorities.AUTHENTICATION)
public class AuthFilter implements ContainerRequestFilter {
@Context
HttpServletRequest webRequest;
@Context
HttpServletResponse webResponse;
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
final HttpSession session = webRequest.getSession();
final String userName = (String)session.getAttribute("USER_NAME");
Run Code Online (Sandbox Code Playgroud)
web.xml中
<servlet>
<servlet-name>jersey-application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value> xyz.xyz.xyz.xyz.xyz.resource</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>authentication-servlet</servlet-name>
<servlet-class>xyz.xyz.xyz.xyz.xyz.xyz.AuthenticationServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>jersey-application</servlet-name>
<url-pattern>/jaxrs/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
的pom.xml
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
<version>2.22.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-spring3</artifactId>
<version>2.22.1</version>
<exclusions>
<exclusion>
<artifactId>spring-context</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion> …
Run Code Online (Sandbox Code Playgroud)