预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共33页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

讲师:佟刚 新浪微博:尚硅谷-佟刚2JavaEE开发中常见的组件JavaEE开发流程JavaEE开发流程MVC处理过程MVC的概念模型(model)视图控制器ListAllExamStduentlistAllExamStudentdeleteStudent?flowId=10关于MVC: M:Model.Dao V:View.JSP,在页面上填写Java代码实现显示 C:Controller.Serlvet: 受理请求 获取请求参数 调用DAO方法 可能会把DAO方法的返回值放入request中 转发(或重定向)页面 什么时候转发,什么时候重定向?若目标的响应页面不需要从request中读取任何值,则可以使用重定向。(还可以防止表单的重复提交) 不足: 使用数据库连接池,DBUtils,JDBCUtils工具类,DAO基类 一个请求一个Serlvet不好!一个模块使用一个Serlvet,即多个请求可以使用一个Servlet 在页面上加入jQuery提示MVC处理过程MVC案例 没有业务层,直接由Servlet调用DAO,所以也没有事务操作。所以可以在DAO中直接获取Connection对象 采取MVC设计模式 使用到的技术: MVC设计模式:JSP、Servlet,POJO 数据库使用MySQL 连接数据库需要使用C3P0数据库连接池 JDBC工具采用DBUtils 页面上的提示操作使用jQuery 技术难点: 多个请求如何使用一个Servlet? 如何模糊查询? 如何在创建或修改的情况下,验证用户名是否已经被使用,并给出提示JSP建数据表加入C3P0数据源 C3p0 数据库驱动的jar包 编写DAO、JdbcUtils工具类和CustomerDAO接口 参看源代码 提供CustomerDAO接口的实现类:CustomerDAOJDBCImpl多个请求使用同一个Servlet多个请求使用同一个Servlethttp://localhost:8989/mvc/edit.do查询操作: Servlet //1.调用CustomerDAO的getAll()得到Customer的集合 List<Customer>customers=customerDAO.getAll(); //2.把Customer的集合放入request中 request.setAttribute("customers",customers); //3.转发页面到index.jsp(不能使用重定向) request.getRequestDispatcher("/index.jsp").forward(request,response); JSP 获取request中的customers属性 遍历显示模糊查询 根据传入的name,address,phone进行模糊查询 例子:name:a、address:b、phone:3则SQL语句的样子为:SELECTid,name,address,phoneFROMcustomersWHEREnameLIKE‘%a%’ANDaddressLIKE‘%b%’ANDphoneLIKE‘%3%’ 需要在CustomerDAO接口中定义一个getForListWithCriteriaCustomer(CriteriaCustomercc)。其中CriteriaCustomer用于封装查询条件:name,address,phone。因为查询条件很多时候和domain类并不相同,所以要做成一个单独的类 拼SQL: SQL:"SELECTid,name,address,phoneFROMcustomersWHERE"+ "nameLIKE?ANDaddressLIKE?ANDphoneLIKE?"; 为了正确的填充占位符时,重写了CriteriaCustomer的getter: 修改Servlet:获取请求参数;把请求参数封装为 CriteriaCustomer对象,再调用getForListWithCriteriaCustomer(CriteriaCustomercc)方法删除操作 超链接:delete.do?id=<%=customer.getId()%> Servlet的delete方法 获取id 调用DAO执行删除 重定向到query.do(若目标页面不需要读取当前请求的request属性,就可以使用重定向),将显示删除后的Customer的List JSP上的jQuery提示: 确定要删除xx的信息吗?添加的流程 AddNewCustomer超链接连接到newcustomer.jsp 新建newcustomer.jsp: 在CustomerServlet的addCustomer方法中:参见注释 newcustomer.js