一个简易的javaweb项目

通过20多天的学习,终于把javaweb学完了,趁着手热,写了一个简单的学生管理系统,一些校验功能及界面美化并没有写,比较粗糙。结构如下。

一、系统功能

管理员的登陆及注册,对学生信息的增删改查,将学生信息进行分页展示。
一个简易的javaweb项目
一个简易的javaweb项目
一个简易的javaweb项目
一个简易的javaweb项目

二、目录结构

一个简易的javaweb项目
一个简易的javaweb项目

三、主要类

  1. DataSourceUtil:获取c3p0数据源
    一个简易的javaweb项目
  2. 实体类:Student和Manager对应数据库的两张表,Page类用来分页
    一个简易的javaweb项目
    一个简易的javaweb项目
  3. IStudentDao接口:定义各种dao操作,由StudentDaoImpl类实现
    一个简易的javaweb项目
  4. IStudentService接口,定义各种功能,由StudentServiceImpl类实现
    一个简易的javaweb项目
  5. Servlet:调用服务
    一个简易的javaweb项目

四、出现的错误

  1. 用idea生成的3.0servlet并没有配urlPatterns,所以访问不了,需要自己配。一个简易的javaweb项目
  2. filter过滤器拦截路径,这个跟servlet一样,需要自己配。一个简易的javaweb项目
  3. Ajax请求无法跳转页面
    我用Ajax方法请求一个servlet然后在servlet里面进行跳转,发现就是不行,后来百度在知道Ajax完不成跳转,只能返回获得你响应的东西。
  4. java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"
    这个异常是我说我的连接太多而被连接池拒绝,出现这个异常的原因是我在StudentDaoImpl的每个方法里都实例化了这个对象:
    QueryRunner queryRunner = new QueryRunner(DataSourceUtils.getC3P0DataSource());
    然后我把这句话提到外面就好了,项目运行也流畅了。
  5. 获取地址栏的参数值:
    当跳转的地址的后面加的有参数时刚开始我直接用${requestScope.xxx}获取的,发现获取不到,然后查了查发现获取地址栏参数要用${param.xxx}才行。