暗星·Java实战之入门小程序

项目需求



1,要求一个用户只能在一处登录

2,实现用户登录与退出登录功能

3,完成对用户表的 CRUD 操作

4,有自己的东西,如增删改查等

项目总览


 

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文件没了,或者说引用错误,待修改



项目展示
 

登陆页面



 

登陆后首页

查询页面

打卡页面



错误页面

登陆失败页面以及验证码错误

部分核心代码展示

User表

JdbcUtils表

AddUser表

以上就是我的第一个入门web项目案例,他用到的东西很少,但是给了我很多实践上的经验

  • 21
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Black__Emperor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值