拦截器Filter
2022/4/29 6:15:58
本文主要是介绍拦截器Filter,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.xxx.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * 拦截非法访问index.jsp */ @WebFilter("/*") public class fil2 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { //未登录跳入登录界面 HttpServletRequest req=(HttpServletRequest)servletRequest; HttpServletResponse resp=(HttpServletResponse) servletResponse; //获取请求路径 String url= req.getRequestURI(); System.out.println(url); //放行登录界面(包括各种静态资源以及各种操作) if(url.contains("/login.jsp")){ filterChain.doFilter(servletRequest,servletResponse); return; } if(url.contains("/js")||url.contains("/image")){ filterChain.doFilter(servletRequest,servletResponse); return; } if(url.contains("/loginServlet")){ filterChain.doFilter(servletRequest,servletResponse); return; } //已经登录状态 String uname=(String) req.getSession().getAttribute("uname"); if(uname!=null){ filterChain.doFilter(servletRequest,servletResponse); return; } resp.sendRedirect("login.jsp"); } @Override public void destroy() { } }
package com.xxx.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/loginServlet") public class Login extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if(true){ req.getSession().setAttribute("uname","uname"); resp.sendRedirect("index.jsp"); }else{ req.getRequestDispatcher("login.jsp").forward(req,resp); } } }
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="loginServlet" method="post"> uname:<input name="uname"><br> <button>submit</button> </form> </body> </html>
这篇关于拦截器Filter的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行