JavaWeb软件大作业

如果有人需要源码研究一下,在这个博客最下方有一个实现基本的学生的增删改查的项目(其实就是我的1.0版本….)。
关于这个应用软件大作业我也头好疼。。。还有一个月,要一个人搞一个项目。。。难搞难搞。。。给大家介绍一下我准备做的项目吧。我准备做一个学生信息管理系统的后台管理,看博客的兄弟可不要和我做的一模一样哦。。。当然我做的是最基础的Javaweb项目,做的可能不是太厉害。像旭光这个大佬就别看了。。。
技术要求
后台主界面使用AdminLTE开发。
技术选型采用:JSP+Servlet
数据库采用MySql(说明:我下面使用的数据库是mysql5.7的哦,8.几版本的有些地方不一样,不过不要担心我会在下面提及,当然你好好看了才行),数据库连接池采用druid,数据库工具采用JDBCTemplate
maven(不会使用maven也行)
环境搭建
关于环境搭建,可能大多数同学应该不知道什么是maven。所以就先按照引入lib包来先搭建一个开发环境。
1.创建一个JavaWeb项目
我感觉这一步就有同学应该不会。。。。







2.添加jar包





3.创建开发目录结构
这个。。。创建包大家应该都会创建吧。。。
<1>现在src下创建包结构

<2>创建resources、Test
注意:这个是需要在项目下创建

然后看下面操作



好,现在应该有人有疑惑了,为啥我要创建这两个包?resources包是用来干啥的?其实resource包主要是用来放置配置文件的。Test包呢?这个包主要用于进行测试代码的。
4.添加Tomcat运行环境



自此环境就搭建完毕了
5.如果是使用maven的请看maven如何搭建环境,如果不知道maven是啥的就不用看。

要是你本地的Maven,不要用IDEA自带的Maven

然后finish即可,创建包结构和上面一致
需求分析
需要实体类对象
系统管理员:admin
学生:student
教师:teacher
课程:class
选课:course
等等

实现功能
1.登录注册功能
主要实现系统管理员、学生、教师这三种用户类型都能够登录,并且可以区分出是哪一种用户类型。
2.学生信息增删改查
主要实现学生信息的增加、删除、修改功能,把学生信息列表给展现出来
3.教师信息增删改查
主要实现教师信息的增加、删除、修改功能,把教师信息列表给展现出来
4.课程信息的增删改查
主要实现课程信息的增加、删除、修改功能,把课程信息列表给展现出来
5.选课信息的增删改查
主要实现多表查询
等等
实现登录功能
首先先展示我的登录功能

可以发现我的登录功能是可以选择是哪一个用户类型的,以及可以获得登录的用户名和登录的时间。
不过下面我只会介绍一种用户类型的登录
需要的技术
1.会使用jsp/servlet
2.会使用cookice
3.mysql
4.JdbcTemplate
首先导入工具类以及jdbc.properties
<1>在resource目录下创建jdbc.properties文件

注意:我的数据库是mysql5.7的!!!要是mysql8.0版本以上的可不是这样哦~
1 | driverClassName=com.mysql.jdbc.Driver |
<2>在utils包下创建JDBCUtils类

1 | package com.liu.utils; |
Dao层的实现
首先说明一下:我的数据库中有一个s_admin表,关于数据库自己建哦。
<一>在pojo包下创建admin

1 | package com.liu.pojo; |
<二>在dao层目录下创建AdminDao

1 | package com.liu.dao; |
<三>在dao层目录下创建一个Impl包,然后在Impl包下,创建AdminDao的实现类AdminDaoImpl

这里就需要写东西与数据库进行交互了,我们通过JDBCUtils来获取连接池对象,然后查询数据库。
1 | package com.liu.dao.Impl; |
<四>测试。在测试Test包下创建一个AdminTest类

1 | package com.liu.dao.Impl; |

点击左侧运行,发现可以查出数据。说明Admin的Dao层已经实现。
接下来实现service层
service层实现的是我们的某一个业务,你要知道,一个业务可能需要多个dao层的方法来实现。所以我们需要有一个service层来实现我们的业务。(这是一个编程的思路MVC编程思想)
<一>:在service包下创建AdminService接口
现在方法只有一个:就是实现登录功能
1 | package com.liu.service; |
<二>:在service包下创建一个Impl子包,在Impl包下创建一个AdminServiceImpl实现类
1 | package com.liu.service.Impl; |

导入AdminLTE的包
1.把css img plugins 复制粘贴到web下

先创建一个pages包,然后把AdminLTE的all-admin-login.html粘贴复制到这个pages包下,然后再移动到web下。这样可不是多此一举,IDEA有重构功能,当你移动项目里面的东西时,IDEA会自动把里面的路径给改变。

可以发现plugins前面的../ IDEA自动帮你去掉了。

2.我们需要更改一下all-admin-login.html的一些东西
比如:
把这个改成text

2.为这个input添加上name标签以及改变默认提示字

3.接下来把这个html变成jsp文件,并设置为项目启动就跑到的页面

注:index.jsp是Tomcat所设置的首选界面,如果不想可以修改WEB-INF下的web.xml
比如想让first.jsp为首选界面
1 |
|
4.相同的方法导入all-admin-index.html,创建一个first.jsp,与上面一样除了first.jsp的第一行代码不变,其他全换成all-admin-index.html

实现web层登录功能
在web层下创建一个LoginServlet
1 | package com.liu.web; |
接着更改index.jsp以及first.jsp
首先更改index.jsp。在index.jsp中有一个表单,我们是要拿到这个表单,把这个表单提交给loginServlet。

当登录失败
在这个地方添加一个div标签

接着更改first.jsp



测试一下登录功能

如何调通我的1.0项目
先下载下来
链接:https://pan.baidu.com/s/10hT6NamGHohjBUu-OKRv8Q
提取码:t3l5
复制这段内容后打开百度网盘手机App,操作更方便哦
1.导入sql文件
打开你的Navicat(额,不要告诉我你没。。。SQLYong也行。。。再不济,请打开你的命令行…)

创建数据库:








先关闭这个数据库,重新连接就可以发现,这个数据库已经多了三张表。

2.使用IDEA打开项目
第一步:打开IDEA
若有人是这个样子,先关闭这个项目

版本可能不一样,open的位置也不一样

找到解压的那个项目:

进去之后就是这样

当然哦~有可能有人会报错哦。是全部都爆红的那种,哈哈,看看类是否爆红。爆红是由于没有一样的环境。
如果你的类都爆红,请看:

选择JDK版本

3.更改数据库
1.如果你的数据库是5.几的,那么,代码你就不需要更改,只需要把密码给改掉即可。

2.如果你的数据库是8.几的,那么,你就需要更改很多东西了哦。
一:下载8.几的mysql连接驱动jar包
链接:https://pan.baidu.com/s/1N1ruCcWGECB8w6mbQtlFYw
提取码:7csg
复制这段内容后打开百度网盘手机App,操作更方便哦
把这个jar包复制到lib目录下

然后重新Add as Library

二:更改jdbc.properties文件
1 | driverClassName=com.mysql.cj.jdbc.Driver |
三:更改成你的密码即可
四:用Tomcat跑一下试试吧~
跑不通请留言。。。。我可以帮你看看
目前本人项目基本实现的功能截图
1.登录功能

2.忘记密码界面

3.注册页面

4.首界面
系统管理员、老师首界面

学生登录界面

记录登录者,以及登录时间

5.学生信息管理界面

信息更改界面

学生信息添加界面

模糊查询

6.教师信息界面



7.课程管理
实现的是多表查询



8.学生选课

9.报错页面

最后版本
采用的是Maven管理工具:
调通方式和1.0版本调通方式几乎一样:
百度网盘链接如下:
链接:https://pan.baidu.com/s/1bllWAxO_7yv0-fwIJQt_Wg
提取码:v5dv
复制这段内容后打开百度网盘手机App,操作更方便哦
还有一些是和老师项目要求无关的项目:
链接:https://pan.baidu.com/s/1EmylEuPAbCCZun_d4K7OTw
提取码:sqm1
复制这段内容后打开百度网盘手机App,操作更方便哦