resp.setHeader("Authorization", "Bearer " + JWTUtil.generateToken(userPoStruct));request1.getHeader("Authorization");为什么获取时为空
时间: 2024-01-13 11:02:14 浏览: 111
可能是因为在请求头中并没有设置 Authorization 字段,或者设置的 Authorization 字段的值不是以Bearer开头的JWT token。另外,如果你在客户端发送请求时并没有把Authorization字段设置为JWT token,可能也会导致在服务端中获取时为空。你可以检查一下你在客户端中发送请求的方式是否正确,或者检查服务端的代码是否正确处理了 Authorization 字段的获取。
相关问题
session.setAttribute("code", codeMap.get("code").toString()); // 禁止图像缓存。 resp.setHeader("Pragma", "no-cache"); resp.setHeader("Cache-Control", "no-cache"); resp.setDateHeader("Expires", -1); resp.setContentType("image/jpeg");
这段代码的作用是生成一个验证码图片并将验证码存储在session中,同时设置响应头信息禁止图像缓存,以确保每次请求都能获得一个新的验证码图片。
具体来说,代码中的`setAttribute`方法将生成的验证码字符串存储在名为"code"的session属性中。`setHeader`方法设置了三个响应头信息,分别是"Pragma"、"Cache-Control"和"Expires",这些信息都是为了防止浏览器缓存验证码图片。`setContentType`方法设置响应类型为"image/jpeg",即告诉浏览器返回的是一个JPEG格式的图片。
resp.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8"); resp.setCharacterEncoding("UTF-8");
你在代码中多次设置了响应字符编码为UTF-8,这样做是没有必要的。通常情况下,只需要设置一次就可以了。重复设置可能会导致冲突或者无效。
正确的做法是在代码的适当位置设置一次字符编码即可,比如在Servlet的doGet或doPost方法中的第一行设置:
```java
resp.setCharacterEncoding("UTF-8");
```
这样就能确保响应的字符编码正确地设置为UTF-8,以便支持中文和其他非ASCII字符的显示。