【JavaWeb程序设计】Servlet(二)

打印 上一主题 下一主题

主题 535|帖子 535|积分 1605

目录
一、改进上一篇博客Servlet(一)的第一题
1. 运行截图
2. 建表
3. 实体类
4. JSP页面
4.1 login.jsp
4.2 loginSuccess.jsp
4.3 loginFail.jsp
5. mybatis-config.xml
6. 工具类:创建SqlSessionFactory实例,进行 MyBatis 的数据库操作
7. UserMapper.xml
8. UserMapper
9. Service层实现类
10. loginServlet
二、编写过滤器实现用户登录身份验证,防止未经登录用户越权访问页面。
1. 登录页面(login.jsp)
2. LoginFilter
3. LoginServlet
4. 运行截图
三、使用监听器对HttpSession实例变化状态进行监听,限制一个用户同一时间只能登岸一次。
 1. 运行截图
2. JS代码
3. LoginSessionListener(登录监听)
4. LoginServlet(登录)
 5. LogoutServlet(注销)
四、心得体会


一、改进上一篇博客Servlet(一)的第一题

【JavaWeb程序设计】Servlet(一)-CSDN博客文章欣赏阅读205次。一、客户端通过login.jsp发出登录请求,请求提交到loginServlet处置处罚。1. 运行截图2. 登录页面(login.jsp)3. loginServlet4. 登录乐成页面(loginSuccess.jsp)5. 登录失败页面(loginFail.jsp)二、使用ServletConfig检索Servlet的初始化参数,请补充填写以下①-⑥空,并运行ConfigDemoServlet程序,将运行效果截图。1. 编写ConfigDemoServlet程序2. 修改w
https://blog.csdn.net/m0_67830223/article/details/140324353
        原文链接如上,引入数据库,创建用户表,包括用户名和密码:客户端通过login.jsp发出登录请求,请求提交到loginServlet处置处罚。如果用户名和密码跟用户表匹配则视为登录乐成,跳转到loginSuccess.jsp页面,显示“接待你”+用户名;否则跳转到loginFail.jsp页面,显示“登录失败”,通过超链接返回login.jsp。

1. 运行截图

(1)输入数据库不存在的用户信息


显示登录失败


点击超链接返回登录页面


(2)输入存在数据库的用户信息

登录乐成


2. 建表



3. 实体类



4. JSP页面

4.1 login.jsp

通过表单提交到loginServlet


4.2 loginSuccess.jsp



4.3 loginFail.jsp



5. mybatis-config.xml



6. 工具类:创建SqlSessionFactory实例,进行 MyBatis 的数据库操作



7. UserMapper.xml



8. UserMapper



9. Service层实现类



10. loginServlet



二、编写过滤器实现用户登录身份验证,防止未经登录用户越权访问页面。

用上一题写的JSP页面来测试,设置loginSuccess.jsp和loginFail.jsp这两个页面必要登录才可以访问。
1. 登录页面(login.jsp)



2. LoginFilter

根据用户请求的url判断是否有必要权限保护的页面,如果有,判断session中是否有效户信息,进而判断是否放行。



3. LoginServlet

根据用户输入数据去数据库查询有没有对应的记录来做判断。

其他部门跟第一题一样。

4. 运行截图

假设用户通过url越权访问loginSuccess.jsp

直接让用户重定向到登录页面


登录乐成之后可以正常访问页面


直接访问登录失败页面


三、使用监听器对HttpSession实例变化状态进行监听,限制一个用户同一时间只能登岸一次。

验证方式:用两个欣赏器登岸同一个账号,其中一个登岸乐成,别的一个自动失效
   本题仍然以第一题的登录页面为例,假设用户在一个欣赏器登录乐成,那么在另一个欣赏器登录不上该账号。如果用户在登岸乐成的页面选择注销账号,那么另一个欣赏器则登录乐成。
   1. 运行截图

在EDGE欣赏器登录并选择记住密码:



在电脑自带欣赏器登录同一个账号,提示无法登录


左边的欣赏器点击注销之后,跳转到登录页面并清除用户信息,同时在左边登录雷同的账号。

右边的欣赏器登录乐成。


2. JS代码

(弹窗提示用户已登录过该账号),JSP同第一题一样


3. LoginSessionListener(登录监听)




4. LoginServlet(登录)




 5. LogoutServlet(注销)



其他代码同第一题!!!

四、心得体会

(1)Servlet:Servlet是JavaWeb开发的核心组件之一,它可以吸取HTTP请求并生成HTTP响应。通过编写Servlet,我们可以实现动态的Web页面和交互式的Web应用程序。我学会了怎样编写Servlet,并通过处置处罚请求参数、操作session和cookie等技能实现了用户登录功能。
(2)过滤器:过滤器是对Web请求进行预处置处罚或后处置处罚的组件,它可以在请求到达Servlet之前对请求进行过滤和修改。通过编写过滤器,我们可以对请求进行验证、权限控制、字符编码转换等操作。我学会了怎样编写过滤器,并使用过滤器实现了用户登录状态验证的功能,在用户访问受限资源之进步行了身份验证。
(3)监听器:监听器是用于监听Web应用程序中事件的组件,它可以在事件发生时执行相应的操作。通过编写监听器,我们可以监听会话、请求、属性等事件,并根据必要进行处置处罚。我学会了怎样编写监听器,并使用监听器实现了用户登录和注销的功能,以及检测用户在其他机器上登录的情况。
(4)MyBatis:MyBatis是一个开源的持久层框架,它简化了数据库访问操作。通过使用MyBatis,我们可以通过编写简洁的SQL语句和映射配置文件来操作数据库,提高了开发效率。我学会了怎样配置和使用MyBatis,通过映射文件将Java对象与数据库表进行映射,并实现了数据的查询操作。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

光之使者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表