通过20多天的学习,终于把javaweb学完了,趁着手热,写了一个简单的学生管理系统,一些校验功能及界面美化并没有写,比较粗糙。结构如下。
一、系统功能
管理员的登陆及注册,对学生信息的增删改查,将学生信息进行分页展示。
二、目录结构
三、主要类
- DataSourceUtil:获取c3p0数据源
- 实体类:Student和Manager对应数据库的两张表,Page类用来分页
- IStudentDao接口:定义各种dao操作,由StudentDaoImpl类实现
- IStudentService接口,定义各种功能,由StudentServiceImpl类实现
- Servlet:调用服务
四、出现的错误
- 用idea生成的3.0servlet并没有配urlPatterns,所以访问不了,需要自己配。
- filter过滤器拦截路径,这个跟servlet一样,需要自己配。
- Ajax请求无法跳转页面
我用Ajax方法请求一个servlet然后在servlet里面进行跳转,发现就是不行,后来百度在知道Ajax完不成跳转,只能返回获得你响应的东西。 java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
这个异常是我说我的连接太多而被连接池拒绝,出现这个异常的原因是我在StudentDaoImpl的每个方法里都实例化了这个对象:
QueryRunner queryRunner = new QueryRunner(DataSourceUtils.getC3P0DataSource());
然后我把这句话提到外面就好了,项目运行也流畅了。- 获取地址栏的参数值:
当跳转的地址的后面加的有参数时刚开始我直接用${requestScope.xxx}获取的,发现获取不到,然后查了查发现获取地址栏参数要用${param.xxx}才行。