javaweb学习23:Filter实现权限拦截
-
监听器:GUI编程中经常使用;
-
过滤器:重点理解过滤器;
-
需求:
-
用户登录后才能进入主页!
-
-
核心:Session的用法;
-
-
思路:
-
1,用户登录之后,向Session中放入用户的数据;
-
2,进入主页的时候,要判断用户是否已经登录;要求:过滤器实现;
-
-
代码案例:login.jsp
<%
-
代码案例:success.jsp
<%
-
代码案例:error.sjp
<%
-
代码案例:登录Servlet
public class LoginServlet extends HttpServlet {
-
代码案例:退出Servlet
public class LogoutServlet extends HttpServlet {
-
代码案例:过滤器
/**
* 过滤器
*/
public class SysFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
System.out.println("开始处理...");
HttpServletRequest req=(HttpServletRequest)request;
HttpServletResponse resp=(HttpServletResponse)response;
Object username = req.getSession().getAttribute("USER_SESSION");
if(username == null){
resp.sendRedirect("/error.jsp");
}
chain.doFilter(request,response);//放行
System.out.println("结束处理...");
}
public void destroy() {
}
}
-
代码案例:web.xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律