jsp实现登录验证的过滤器
来源:互联网 发布:淘宝立体3d服装制作 编辑:程序博客网 时间:2024/05/17 03:44
1.新建一个Dynamic Web Project项目,里面新建1个filter文件、1个servlet文件和2个jsp文件,整体的框架如图所示:
2.LoginFilter.java里面的代码如下所示:
package filter;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.annotation.WebFilter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;@WebFilter(filterName = "loginFilter", urlPatterns = { "/*" })public class LoginFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse resp = (HttpServletResponse) response;HttpSession session = req.getSession(true);resp.setContentType("text/html;");resp.setCharacterEncoding("utf-8");PrintWriter out = resp.getWriter();String request_uri = req.getRequestURI();String ctxPath = req.getContextPath();String uri = request_uri.substring(ctxPath.length());if (uri.contains("login.jsp") || uri.contains("loginServlet")) {chain.doFilter(request, response);} else {if (session.getAttribute("user") != null) {chain.doFilter(request, response);} else {out.println("您没有登录,请先登录!3秒后回到登录页面。");resp.setHeader("refresh", "3;url=" + ctxPath + "/login.jsp");return;}}}public void init(FilterConfig fConfig) throws ServletException {}}
3.LoginServlet.java里面的代码如下所示:
package servlet;import java.io.IOException;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 javax.servlet.http.HttpSession;@WebServlet(name = "loginServlet", urlPatterns = { "/loginServlet" })public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {doPost(request, response);}protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("name");String password = request.getParameter("pwd");if ("filter".equals(username) && "filter".equals(password)) {HttpSession session = request.getSession(true);session.setAttribute("user", username);response.sendRedirect("loginSuccess.jsp");} else {response.sendRedirect("login.jsp");}}}
4.login.jsp里面的代码如下所示:
<%@page import="java.util.Date"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example</title></head><body bgcolor="lightPink"><form action="loginServlet" method="post"><table><tr><td>用户名:</td><td><input type="text" name="name" /></td></tr><tr><td>密码:</td><td><input type="password" name="pwd" /></tr><tr><td><input type="submit" value="提交" /></td><td><input type="reset" value="重置" /></td></tr></table></form></body></html>
5.loginSuccess.jsp里面的代码如下所示:
<%@page import="java.util.Date"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>example</title></head><body><%String username = (String) session.getAttribute("user");%>恭喜<%=username%>登录成功!</body></html>
6.在浏览器里面输入http://localhost:8080/Servlet/login.jsp运行之后得到的结果如下所示:
阅读全文
1 0
- jsp实现登录验证的过滤器
- JSP登录验证编码过滤器
- javaweb的登录验证过滤器的实现
- JavaWeb实现过滤器验证登录
- JSP中filter过滤器验证用户登录
- JSP中filter过滤器验证用户登录
- JSP中filter过滤器验证用户登录(
- JSP登录验证功能的实现
- JSP带验证码的登录实现
- 使用Servlet过滤器实现用户登录验证
- 使用Servlet过滤器实现用户登录验证
- 使用filter过滤器实现用户登录验证
- 使用jsp过滤器实现登录权限
- JSP基本登录模Ⅹ(Servlet过滤器验证Session)
- 过滤器Filter的应用:登录验证
- java/jsp实现SQLServer2012windows验证登录的相关处理操作
- JSP+Servlet + JDBC 实现简单的登录验证模块
- 4 JSP+Servlet + JDBC 实现简单的登录验证模块
- <C++ Primer_5th>习题_3.2
- java任务--Volume
- 调整数组顺序使奇数位于偶数前面
- gcc -c
- Protocol Buffers的学习笔记
- jsp实现登录验证的过滤器
- <C++ Primer_5th>习题_3.3
- Java多线程CountDownLatch的使用
- ubuntu16.04 安装pycharm
- oracle 配置st_geometry
- <C++ Primer_5th>习题_3.4
- RPC作品开发记录
- gRPC学习笔记
- cache、内存、虚拟内存