项目需求
1,要求一个用户只能在一处登录
2,实现用户登录与退出登录功能
3,完成对用户表的 CRUD 操作
4,有自己的东西,如增删改查等
项目总览
![](https://i-blog.csdnimg.cn/direct/994baac6c715430a8e5dbdbe8ca6ab5b.png)
1,文本文档注释说明
添加jar包
jstl.jar是一个Java标准标签库(JSTL)的JAR文件
它包含了一组用于简化Java Web应用程序开发的自定义标签和函数。
这些标签和函数可以用于处理HTML、XML等文本数据,以及执行逻辑操作。
spring.datasource.url=jdbc:mysql://localhost:3306/blog?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2b8&zeroDateTimeBehavior=CONVERT_TO_NULL
jdbc.url=jdbc:mysql://localhost:3306/anxwebsjk?useUnicode=true&characterEncoding=utf8
mysql-connector-java-5.1.48.jar
//是一个Java库,用于连接和操作MySQL数据库。
它提供了一组API,使得Java程序可以与MySQL数据库进行交互
servlet-api.jar
//是Java Servlet API的JAR文件,包含了Servlet和JavaServer Pages(JSP)的API类和接口。
这些类和接口用于开发基于Java的Web应用程序。
standard.jar
//是Java标准库的JAR文件,它包含了Java SE平台的核心类和接口。
这些类和接口用于开发基于Java的应用程序,
包括控制台应用程序、图形用户界面(GUI)应用程序、Web应用程序等。
c.tld
//是一个标签库描述文件,它存放了标签名字和类的映射关系
2,所使用的技术
JSP、Servlet、Filter、Listener、JDBC、MySQL
说明用户的请求是完成一个用户添加的
然后还有一个问题,就是有一个最高首脑,有全部权限,他可以任命管理员,管理员有大部分权限,例如编辑用户信息,(或者只有一个管理员干这些编辑,就不用任命)而用户只能看,查询,等等,不能编辑
3,数据库链接代码
在数据库中有一个user表,用于存储数据
CREATE TABLE `users` (
`userid` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(30) DEFAULT NULL,
`userpwd` varchar(30) DEFAULT NULL,
`usersex` varchar(2) DEFAULT NULL,
`phonenumber` varchar(30) DEFAULT NULL,
`qqnumber` varchar(20) DEFAULT NULL,
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4,添加 jstl 标签库的约束文件
http://java.sun.com/jsp/jstl/core
5,开发路程
开发者日志01:
只有一个地方登录:登录后产生一个key,放在http servlet sessions
再次登录先去这里面找,如果有这个key,就先销毁再创建,这样就解决了多出登录问题
这样其他地方在想操作就会被返回到登录页面
但是会导致一个问题,有超时销毁,这样会出现反复销毁,就是你去销毁了一个已经被销毁
的东西,这将会导致报错
用listener监听http的监听器,来解决问题
他直接获取 ServletContext 对象,然后将所对应的 HttpSession 删除掉
开发者日志02:
验证码只显示了一个碎裂的图片,这是由于 “在判断当前请求的是否为 login.jsp 或者 login.do,
如果请求的是用户登录的资源那么需要放行。”的过程中,只放行了这两个,并没有放行验证码
导致碎图片,需要修改并且也放行验证码
Servlet已经是代码的最后一层了,他的后面是容器,tomcat了
如果我们没有在Servlet中没有处理掉所有的异常,呢么出现的异常会直接
渗透到tomcat当中,而tomcat出理异常是将其反应给客户端
就会出现类似http500等,500表示异常......
但是不能给用户看一个500,所以要做错误页面
比如出错了,请联系管理员。这里点名司马战网地图库平台
UserManagerDaoImpl,UserManagerServlet内有数据库相关内容,后续更改数据库需要来这里进行修改
创建了usermanager包,存放业务相关的jsp文件.而其余通用的jsp文件就放在根目录下1
开发者日志03:
jsp文件中漏了2个标签导致闪红
但是不影响使用也不会报错,就不找了,bug遗留罢了
也许有幸给到后人修复吧,也让别人品味一下屎山的力量。欸嘿嘿嘿
开发者日志04:
更新了错误反馈,优化了错误页面
让用户体验更佳
切记注意自己文件放的位置,别老路径错误,导致引用异常
开发者日志05:
出现问题:修改和删除的js文件没了,或者说引用错误,待修改
项目展示
登陆页面
登陆后首页
查询页面
打卡页面
![](https://i-blog.csdnimg.cn/direct/58b3802c39bb4840873a5d06c5768c3d.png)
错误页面
![](https://i-blog.csdnimg.cn/direct/deeecc5ca6264efab2e7e880def76273.png)
登陆失败页面以及验证码错误
部分核心代码展示
User表
JdbcUtils表
AddUser表
以上就是我的第一个入门web项目案例,他用到的东西很少,但是给了我很多实践上的经验