手机版

jsp实现登录验证的过滤器

时间:2021-08-25 来源:互联网 编辑:宝哥软件园 浏览:

本文实例为大家分享了jsp实现登录验证的过滤器,供大家参考,具体内容如下

1.新建一个动态网站项目项目,里面新建一个过滤器文件、1个小型应用程序文件和2个jsp文件,整体的框架如图所示:

2.LoginFilter.java里面的代码如下所示:

包装过滤器;导入Java。io。ioexception导入Java。io。版画作家;导入javax。servlet。过滤器;导入javax。servlet。过滤链;导入javax。servlet。FilterConfig导入javax。servlet。servletexception导入javax。servlet。servlet请求;导入javax。servlet。servlet响应;导入javax。servlet。注释。WebFilter导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入javax。servlet。http。HttpSession@ WebFilter(筛选器名称=' loginFilter ',URL模式={ '/* })公共类loginFilter实现filter { public void destroy(){ } public void doFilter(servlet请求,ServletResponse响应,FilterChain)引发IOException,ServletException { httpersvletrequest req=(httpersvletrequest)请求;httpersvletresponse resp=(httpersvletresponse)响应;HttpSession会话=请求。get session(true);resp。SetContentType(' text/html;');resp。setcharacter encoding(' utf-8 ');PrintWriter out=resp。getwriter();字符串request _ uri=req。get request uri();字符串ctxPath=req。getcontextpath();字符串uri=request _ uri。子串(CTxpath。length());if(uri。包含('登录。JSP ')| | uri。包含(' loginServlet '){ chain。dofilter(请求,响应);} else { if(会话。GetAttribute(' user ')!=null) { chain.doFilter(请求,响应);} else { out.println('您没有登录,请先登录!3秒后回到登录页面。');resp.setHeader('refresh ',' 3;URL=' CTxpath '/登录。JSP’);返回;} } }公共void init(FilterConfig fConfig)引发了ServletException { } } .LoginServlet.java里面的代码如下所示:

包小型应用程序导入Java。io。ioexception导入javax。servlet。servletexception导入javax。servlet。注释。webservlet导入javax。servlet。http。HttpServlet导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入javax。servlet。http。HttpSession@WebServlet(名称='loginServlet ',urlPatterns={ '/loginServlet' })公共类实例三扩展了HttpServlet {私有静态最终长串行版本id=1L;受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)引发ServletException,IOException { doPost(请求,响应);}受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)引发ServletException,IOException { String username=request。getParameter(' name ');字符串密码=请求。getParameter(' pwd ');if ('filter ' .等于(用户名)"过滤器"。equals(password)){ HttpSession session=request。get session(true);session.setAttribute('user ',username);回应。发送重定向(' loginsuccess。JSP’);} else { response。发送重定向('登录。JSP’);} } }4.login.jsp里面的代码如下所示:

% @页面导入=' Java。乌提尔。日期% % @页面语言=' Java '内容类型=' text/html;charset=UTF-8 '页面编码=' UTF-8 ' %!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。DTD ' HTML hearteta 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 tdinput type=' text ' name=' name '/TD/tr TD密码:/TD tdinput type=' password ' name=' pwd '/tr/tr tdinput type=' submit ' value='提交//td tdinput类型='重置'值='重置//TD/tr/table/form/body/html 5。逻辑成功。JSP里面的代码如下所示:

% @页面导入=' Java。乌提尔。日期% % @页面语言=' Java '内容类型=' text/html;charset=UTF-8 '页面编码=' UTF-8 ' %!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www .w3。org/TR/HTML 4/松散。DTD ' HTML hearteta http-equiv=' Content-Type ' Content=' text/HTML;字符集=UTF-8 '标题示例/标题/标题正文%字符串用户名=(字符串)会话。GetAttribute(' user ');% 恭喜%=用户名%登录成功!/body/html6 .在浏览器里面输入http://localhost :8080/Servlet/登录。JSP运行之后得到的结果如下所示:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:jsp实现登录验证的过滤器是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。