单表的增删改查
预期结果:
domain:存放POJO
MVC(三层架构)
用户->Servlet->service->dao
| |
<-------jsp
之间的数据传递通过POJO来封装传递数据
domain:
1、建立一个实体类,里面都是get,set方法
service,业务层:业务逻辑,和需求最为相近
2、编写业务层接口,studentService
3、业务接口的实现类,new一个studentDaoImpl对象,连接数据库,里面都是sql语句
private QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());//连接数据池
查找所有student的集合,直接返回即可;
添加学生:
编写业务层的单元测试:
查寻所有信息:用户->Servlet->业务->SErvlet->封装到请求范围对象,转发->jsp
new一个studentDaoImpl对象studentservice,将查询到的封装到集合students中,setAttribute到请求范围,然后请求重定向
request.getRequestDispatcher("/listStudents.jsp").forward(request,response);
更改listStudent.jsp,主页面的jsp
index.jsp默认主页:<meta http-equiv="Refresh" content="0;url=${pageContext.request.contextPath}/FindAllStudentsServlet">
0秒刷新到虚拟路径为FindAllStudentsServlet中,,,,为啥不直接到liststu.jsp
添加学生:Servlet:封装请求参数到Student对象中,调用Service方法,重定向到默认主页
①修改ls.jsp--插入添加路径:addstudent.jsp;
②编写adds.jsp
③编写Servlet:new一个service的实现类:StudentServiceImpl,
要改编码格式,
ConvertUtils.register(new DateLocaleConverter(), Date.class);//当遇到目标类 型是java.util.Date类型时,使用DateLocaleConverter进行转换
//只能按照本地 (yyyy-MM-dd格式进行转换)
BeanUtils.populate(student,request.getParameterMap());
studentService.addStudent(student);
response.sendRedirect(request.getContextPath());