问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
logger.info("登录成功");
httpServletResponse.setContentType("application/json;charset=utf-8");
Object user = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
logger.info("user: "+user);
String token = TokenUtil.createToken(user);
RespBean respBean = RespBean.success("登录成功", user);
httpServletResponse.setHeader("token", token);
ObjectMapper om = new ObjectMapper();
PrintWriter out = httpServletResponse.getWriter();
out.write(om.writeValueAsString(respBean));
out.flush();
out.close();
}
运行结果及报错内容
2022-01-12 22:25:25.574 [http-nio-8082-exec-2] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Filter execution threw an exception] with root cause
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26)
at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99)
at com.leng.oldass.util.TokenUtil.createToken(TokenUtil.java:46)
at com.leng.oldass.security.CustomizeAuthenticationSuccessHandler.onAuthenticationSuccess(CustomizeAuthenticationSuccessHandler.java:38)
at com.leng.oldass.security.CustomizeAuthenticationSuccessHandler$$FastClassBySpringCGLIB$$f597e5f9.invoke(<generated>)
我的解答思路和尝试过的方法
我想要达到的结果