由于 NPE,我在 Filter 类中遇到了困难。我知道这意味着什么,我检查了 null 的可能性,但没有奏效。如果你能帮助我,请问是什么原因?这是我的代码..
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpSession session = req.getSession();
RequestDispatcher rd = null;
if (session != null) {
Person user = (Person) session.getAttribute("person");
String personType=user.getType(); **<----- EXCEPTION HERE**
让我告诉你我项目的这一部分......我有一个与 servlet、jsp、MysqlDB、过滤器和 java 类相关的 web 应用程序......我想用我的过滤器检查所有 jsp 的安全性,它检查登录用户的用户类型是 USER、ADMIN 或 MANAGER。在我的代码上方,我检查了是否有任何会话(会话!= null),如果没有再次将用户重定向到登录页面......那么我怎样才能在这里避免NPE?感谢回复
此代码与用户是否为管理员以及是否为管理员以及继续...第一个范围是 if(session!=null).. 因此,如果它为假,则过滤将用户重定向到 login.jsp。如果你愿意,我可以发布代码。