学习完Servlet入手的小项目附源码
信息管理系统
效果展示
项目介绍
- 项目介绍
- 目的:巩固Servlet知识
- 所用知识点:Servlet、jquery、数据连接池(druid)、JDBC、SQL语法
- 使用工具:JDK8、TomCat7、Eclipse
包说明
- 数据表:用户表(用于登录注册)、班级表、学生表
- Src包:
bean包:存放与数据库映射的类(数据库的字段名尽量和类的属性名一致,否则查询时应该在SQL语句中取别名)
dao包:存放bean包中各个类在数据库中的相关操作,例如User类的登录,注册、学生类的添加删除等等。这个包分为三层结构(BaseDao类----封装了通用的数据增删改查操作,ClassDao接口-----定义了每个类的操作的规范,ClassDaoImpl类------实现了ClassDao接口的对象。
jdbutil包:对各个常用的方法的封装。比如数据库的连接,资源释放,数据常用处理方式(字符串判断空,字符串类型转为时间类型等等。。)
servlet包:对请求进行的处理类
druid.properties文件为数据库连接配置 - WebContent包:
css包+images+jquery包+html页面等。 - 写项目的过程中需要引入的包为:Druid数据库连接池包、数据库驱动包、jquery包、JSON包。
源码阅读顺序
- index.jsp(登录界面)---->LoginServlet.java
- main.jsp(主界面)----->gradeinfoManage.jsp或studentinfoManage.jsp
- 进入gradeinfoManage.jsp/studentinfoManage.jsp后在前端找到进入Servlet程序的入口,然后查看对应的Servlet的程序即可(结合web.xml)
- 在Eclipse中按住ctril键再点击函数,可进入函数的实现位置。
项目中遇到的问题
- Servlet创建实例化错误问题,浏览器报500错误,创建数据库连接池配置文件后,有两种方法导入配置文件即:
//方法一、 InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties"); //方法二、 //InputStream is = JBUtils.class.getClassLoader().getResourceAsStream("druid.properties");
其中方法一是报错的,(当时解决这个问题难死我了,网上找了许久),类加载器用自己定义的类的加载器就好了,别用系统的类加载器。即使用方式二加载配置文件。 - 乱码问题
https://blog.****.net/wjb820728252/article/details/66974899
优化
- 此项目数据库的增删改查可以用DBUtils提供的jar包进行代替,涉及QueryRunner类、Handler类的使用。
- 可以对界面进行美化(HHHHHH,这个前端是我从别的地方Copy过来的)。
源码地址
链接:https://pan.baidu.com/s/1PFZgCOW2llsTJSZfZAcYKA
提取码:7z8u