使用Servlet过滤器验证Session
![使用Servlet过滤器验证Session](https://img.360docs.net/img56/02lu8kxfxiktox4uz0t1-61.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用Servlet过滤器验证Session
登录模块至少需要以下几个页面:
JSP模块:
1.输入用户信息页面(login.jsp);
2.登录成功欢迎页面(pass.jsp)(检查Session设置);
3.注销登录页面(logout.jsp)。
Servlet模块:
1.检查Cookie页面(index.mgc)(servlet:CheckCookie.java);
2.用户合法性验证页面(check.mgc)(servlet:CheckMember.java);
Filter模块:
验证Session(SessionFilter.java);
DAO模块:
1.VO对象类(Member.java);
2.数据库操作接口类(MemberDAO.java);
3.数据库连接类(DataBaseConnection.java);
4.数据库操作类(DAOMemberImpl.java);
5.工厂类(DAOFactory.java)。
数据库:member.mdb
结构图:
---------------------------------------------------------------------
index.mgc
|
|判断Cookie中有无用户名、密码
----------------------
| Y N |
| V
| login.jsp<--------------------
| |输入用户名、密码 |
| V |
---------------->check.mgc |
|调用DAO模块 |
查询数据库 V | member.mdb<--->DAO |
|返回结
果 |
V |
check.mgc | |判断用户是否合法 |
--------------------- | | Y N | |
V V |
pass.jsp跳转--------------->|
| |
| 检查session是否含有用户名 |
----------------- |
| Y N | |
V V |
pass.jsp跳转------------------------->|
| |
|注
销 |
V |
logout.jsp------------------------------------>|
--------------------------------------------------------------------- CheckCookie.java:
view source
print?
01.package mgc.login.mvc.servlet;
02.
03.import java.io.*;
04.import javax.servlet.*;
05.import javax.servlet.http.*;
06.import mgc.dao.login.member.*;
07.
08.public class CheckCookie extends HttpServlet {
09.
10.
11. public void doGet(HttpServletRequest request, HttpServletRespo nse response) throws ServletException, IOException {
12.
13. this.doPost(request, response);
14. }
15. public void doPost(HttpServletRequest request, HttpServletResp onse response) throws ServletException, IOException {
16.
17. String username=null;
18. String password=null;
19. //取得Cookie的全部属性
20. Cookie c[]=request.getCookies();
21. int i;
22. for(i=0;i 23. 24. if("username".equals(c[i].getName())) { 25. 26. //Cookie中有用户名,保存 27. username=c[i].getValue(); 28. } 29. if("password".equals(c[i].getName())) { 30. 31. //Cookie中有密码,保存 32. password=c[i].getValue(); 33. } 34. } 35. if(username!=null && password!=null) { 36. 37. //Cookie中含有用户名和密码,提交跳转到用户验证页面 38. request.setAttribute("username", username); 39. request.setAttribute("password",password); 40. request.getRequestDispatcher("check.mgc").forward(requ est,response); 41. } 42. else { 43. 44. //Cookie中没有用户名、密码,跳转到登录页面 45. response.sendRedirect("login.jsp"); 46. } 47. } 48.