Edd*_*die 5 java spring servlets
我想在java中捕获一个标头。我写的代码是正确的。尽管如此,它仍然是空的。您能否提出更改建议。我正在拦截器中执行此任务。我在控制器类上是否遗漏了任何注释,或者我需要在控制器类上进行任何配置?
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.jose4j.jwk.HttpsJwks;
import org.jose4j.jwt.JwtClaims;
import org.jose4j.jwt.consumer.InvalidJwtException;
import org.jose4j.jwt.consumer.JwtConsumer;
import org.jose4j.jwt.consumer.JwtConsumerBuilder;
import org.jose4j.keys.resolvers.HttpsJwksVerificationKeyResolver;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
@Configuration
@Component
public class TokenValidateInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String apiKey;
System.out.println("Header "+request.getHeader("xx")); //Null
System.out.println("request "+request); // request org.apache.catalina.core.ApplicationHttpRequest@4df9ffc7
System.out.println("request.tostring "+request.toString()); // request.tostring org.apache.catalina.core.ApplicationHttpRequest@e0770ef
Run Code Online (Sandbox Code Playgroud)
请求中可能不存在“xx”标头。
代替
System.out.println("Header "+request.getHeader("xx"));
Run Code Online (Sandbox Code Playgroud)
和
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
System.out.println("Header " + headerNames.nextElement());
}
Run Code Online (Sandbox Code Playgroud)
查看服务器从客户端接收到的所有标头。
| 归档时间: |
|
| 查看次数: |
11956 次 |
| 最近记录: |