赞
踩
1.对成功登录的页面进行判断,是否有session:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% Object userSession = request.getSession().getAttribute("USER_SESSION"); if(userSession==null){ response.sendRedirect("/login.jsp"); } %> <h1>主页</h1> <p><a href="/servlet/logout">注销</a></p> </body> </html>
成功跳转!
import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.http.HttpRequest; public class sysFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; if(request.getSession().getAttribute("USER_SESSION")==null){ response.sendRedirect("/error.jsp"); } chain.doFilter(req,resp); } @Override public void destroy() { } }
报500错误,同时指出了可能出现问题的代码
推测:Filter和success的jsp代码同时出现了页面跳转,可能冲突,因此将jsp里面的跳转代码注释掉,重新运行程序。
页面跳转成功!
结论:不能在Filter和 jsp代码里同时编写页面跳转的代码,通常把jsp里面的代码注释掉就可以了。
至此,本文结束。记录自己的知识盲区~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。