J2EE中MVC三层架构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 Sept. 2008 Confidential
② 图书修改功能的实现 c、将此请求转发到addBook.jsp页面。 将此请求转发到addBook.jsp页面。 addBook.jsp页面
successPage = "/admin/bookManage/addBook.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
② 图书修改功能的实现 步骤1 创建Servlet AddBook.java,其RUL-Mapping为Book/Add。 步骤1:创建Servlet AddBook.java,其RUL-Mapping为Book/Add 步骤2 步骤2:在AddBook.java的doGet方法 AddBook.java的doGet方法 a、从请求中获得要修改的图书的编号,以及修改后的图书数据 从请求中获得要修改的图书的编号, request.getParementer(“book_id” String book_id = request.getParementer(“book_id”); request.getParementer(“book_name” String book_name= request.getParementer(“book_name”); a、编写将请求中获得的图书数据封装为一个Book对象、book 编写将请求中获得的图书数据封装为一个Book对象、 Book对象 Book book =new Book(); book.setBook_id(book_id book.setBook_id(book_id ); …… b、然后将此修改后的图书对象(book)存储到数据库中。 然后将此修改后的图书对象(book)存储到数据库中。 BookDAO bookDAO = new BookDAO(); bookDAO.addBook(book);
3 Sept. 2008 Confidential
5、图书列表功能MVC实现 图书列表功能MVC实现 MVC
① 流程图
BookList (Servlet)
请求 (Book/List) request request (books)
bookManage.jsp
3 Sept. 2008 Confidential
② 图书列表功能的实现 步骤1 创建Servlet BookList.java,其RUL-Mapping为Book/List。 步骤1:创建Servlet BookList.java,其RUL-Mapping为Book/List 步骤2 步骤2:在BookList.java的doGet方法 BookList.java的doGet方法 a、编写获得所有图书的代码 Array List books = bookDao.getAllBooks(); b、然后将获得的图书集合(books)存储到request中。 然后将获得的图书集合(books)存储到request中 request request.setAttribute("books",books); c、将此请求转发到bookManage.jsp页面。 将此请求转发到bookManage.jsp页面。 bookManage.jsp页面
request1 (book)
ModifyBook (Servlet)
3 Sept. 2008 Confidential
② 图书打开修改功能的实现 步骤1 创建Servlet OpenAddBookjava,其RUL-Mapping为Book/OpenAdd。 步骤1:创建Servlet OpenAddBookjava,其RUL-Mapping为Book/OpenAdd 步骤2 步骤2:在OpenAddBook.java的doGet方法 OpenAddBook.java的doGet方法 a、从请求中获得要修改的图书的编号 String book_id = request.getParementer(“book_id”); request.getParementer(“book_id” a、编写获得指定图书信息的代码 bookDao.getBookById(book_id Book book = bookDao.getBookById(book_id ); b、然后将获得的图书(book)存储到request中。 然后将获得的图书(book)存储到request中 request request.setAttribute("book",book); c、将此请求转发到addBook.jsp页面。 将此请求转发到addBook.jsp页面。 addBook.jsp页面
3 Sept. 2008 Confidential
4、J2EE的MVC架构(持久层+Jsp+Servlet) J2EE的MVC架构(持久层+Jsp+Servlet) 架构 +Jsp+Servlet
Servlet 持久层 JSP页面 JSP页面
DB
Tomcat
3 Sept. 2008 Confidential
J2EE中MVC三层架构的实现 J2EE中MVC三层架构的实现
3 Sept. 2007 2008 By Neusoft Group. All rights reserved Copyright Neusoft Confidential
J2EE中MVC三层架构的实现 J2EE中MVC三Βιβλιοθήκη Baidu架构的实现
3 Sept. 2008 Confidential
3、解决方法 重点: ━ 重点: ① 将页面中与显示数据无关的内容,即应用逻辑放到后台的 将页面中与显示数据无关的内容, 类中。 类中。 而且此类要能处理web请求(request) web请求 ② 而且此类要能处理web请求(request)
将应用逻辑放到Servlet中 将应用逻辑放到Servlet中 Servlet
successPage = "/admin/bookManage/bookManage.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
步骤3 将后台管理菜单中书籍管理子菜单的超链接改为Book/List 步骤3:将后台管理菜单中书籍管理子菜单的超链接改为Book/List 步骤4 bookManage.jsp页面代码的编写 步骤4:bookManage.jsp页面代码的编写 a、从request中获得图书集合books request中获得图书集合books 中获得图书集合 <% (ArrayList)request.getAttribute(“books” ArrayList books = (ArrayList)request.getAttribute(“books”); ……………… %> b、然后从此图书集合中取出每本书籍,并将此书的信息显示在页面上。 然后从此图书集合中取出每本书籍,并将此书的信息显示在页面上。 <%=book.getBook_author() %>
1、课堂实践内容: 课堂实践内容: JSP+持久层结构存在的问题 JSP+持久层结构存在的问题 解决方法 J2EE的MVC架构(持久层+Jsp+Servlet) J2EE的MVC架构(持久层+Jsp+Servlet) 架构 +Jsp+Servlet 图书列表功能MVC实现 图书列表功能MVC实现 MVC 图书修改功能MVC实现 图书修改功能MVC实现 MVC
3 Sept. 2008 Confidential
6、图书修改功能MVC实现 图书修改功能MVC实现 MVC ①流程图 OpenModifyBook (Servlet)
请求1 请求1 (Book/OpenModify)
request1 changeBookInfoSuccess .jsp request2 changeBookInf.jsp 请求2 请求2 (Book/Modify)
successPage = "/admin/bookManage/addBook.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
步骤3 bookManage.jsp中 添加” 的提交地址改为Book/OpenAdd 步骤3:将bookManage.jsp中“添加”按钮的提交地址改为Book/OpenAdd 步骤4 addBook.jsp页面代码的编写 步骤4:addBook.jsp页面代码的编写 a、从request中获得图书对象books request中获得图书对象books 中获得图书对象 <% )request.getAttribute(“book” Book book = (Book )request.getAttribute(“book”); ……………… %> b、然后从此图书的信息显示在页面上。 然后从此图书的信息显示在页面上。 <%=book.getBook_author() %>
3 Sept. 2008 Confidential
2、JSP+持久层结构存在的问题 JSP+持久层结构存在的问题 ① JSP页面代码较多,不利于JSP页面的共享(页面设计人 员看不懂页面的代码)。 ② 数据库连接必须关闭的问题: 在JSP页面用finally块来关闭 ━ 问题: JSP页面无法共享,而且代码凌乱。 在DAO类中用finally块来关闭 ━ 问题: 代码凌乱。
② 图书修改功能的实现 c、将此请求转发到addBook.jsp页面。 将此请求转发到addBook.jsp页面。 addBook.jsp页面
successPage = "/admin/bookManage/addBook.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
② 图书修改功能的实现 步骤1 创建Servlet AddBook.java,其RUL-Mapping为Book/Add。 步骤1:创建Servlet AddBook.java,其RUL-Mapping为Book/Add 步骤2 步骤2:在AddBook.java的doGet方法 AddBook.java的doGet方法 a、从请求中获得要修改的图书的编号,以及修改后的图书数据 从请求中获得要修改的图书的编号, request.getParementer(“book_id” String book_id = request.getParementer(“book_id”); request.getParementer(“book_name” String book_name= request.getParementer(“book_name”); a、编写将请求中获得的图书数据封装为一个Book对象、book 编写将请求中获得的图书数据封装为一个Book对象、 Book对象 Book book =new Book(); book.setBook_id(book_id book.setBook_id(book_id ); …… b、然后将此修改后的图书对象(book)存储到数据库中。 然后将此修改后的图书对象(book)存储到数据库中。 BookDAO bookDAO = new BookDAO(); bookDAO.addBook(book);
3 Sept. 2008 Confidential
5、图书列表功能MVC实现 图书列表功能MVC实现 MVC
① 流程图
BookList (Servlet)
请求 (Book/List) request request (books)
bookManage.jsp
3 Sept. 2008 Confidential
② 图书列表功能的实现 步骤1 创建Servlet BookList.java,其RUL-Mapping为Book/List。 步骤1:创建Servlet BookList.java,其RUL-Mapping为Book/List 步骤2 步骤2:在BookList.java的doGet方法 BookList.java的doGet方法 a、编写获得所有图书的代码 Array List books = bookDao.getAllBooks(); b、然后将获得的图书集合(books)存储到request中。 然后将获得的图书集合(books)存储到request中 request request.setAttribute("books",books); c、将此请求转发到bookManage.jsp页面。 将此请求转发到bookManage.jsp页面。 bookManage.jsp页面
request1 (book)
ModifyBook (Servlet)
3 Sept. 2008 Confidential
② 图书打开修改功能的实现 步骤1 创建Servlet OpenAddBookjava,其RUL-Mapping为Book/OpenAdd。 步骤1:创建Servlet OpenAddBookjava,其RUL-Mapping为Book/OpenAdd 步骤2 步骤2:在OpenAddBook.java的doGet方法 OpenAddBook.java的doGet方法 a、从请求中获得要修改的图书的编号 String book_id = request.getParementer(“book_id”); request.getParementer(“book_id” a、编写获得指定图书信息的代码 bookDao.getBookById(book_id Book book = bookDao.getBookById(book_id ); b、然后将获得的图书(book)存储到request中。 然后将获得的图书(book)存储到request中 request request.setAttribute("book",book); c、将此请求转发到addBook.jsp页面。 将此请求转发到addBook.jsp页面。 addBook.jsp页面
3 Sept. 2008 Confidential
4、J2EE的MVC架构(持久层+Jsp+Servlet) J2EE的MVC架构(持久层+Jsp+Servlet) 架构 +Jsp+Servlet
Servlet 持久层 JSP页面 JSP页面
DB
Tomcat
3 Sept. 2008 Confidential
J2EE中MVC三层架构的实现 J2EE中MVC三层架构的实现
3 Sept. 2007 2008 By Neusoft Group. All rights reserved Copyright Neusoft Confidential
J2EE中MVC三层架构的实现 J2EE中MVC三Βιβλιοθήκη Baidu架构的实现
3 Sept. 2008 Confidential
3、解决方法 重点: ━ 重点: ① 将页面中与显示数据无关的内容,即应用逻辑放到后台的 将页面中与显示数据无关的内容, 类中。 类中。 而且此类要能处理web请求(request) web请求 ② 而且此类要能处理web请求(request)
将应用逻辑放到Servlet中 将应用逻辑放到Servlet中 Servlet
successPage = "/admin/bookManage/bookManage.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
步骤3 将后台管理菜单中书籍管理子菜单的超链接改为Book/List 步骤3:将后台管理菜单中书籍管理子菜单的超链接改为Book/List 步骤4 bookManage.jsp页面代码的编写 步骤4:bookManage.jsp页面代码的编写 a、从request中获得图书集合books request中获得图书集合books 中获得图书集合 <% (ArrayList)request.getAttribute(“books” ArrayList books = (ArrayList)request.getAttribute(“books”); ……………… %> b、然后从此图书集合中取出每本书籍,并将此书的信息显示在页面上。 然后从此图书集合中取出每本书籍,并将此书的信息显示在页面上。 <%=book.getBook_author() %>
1、课堂实践内容: 课堂实践内容: JSP+持久层结构存在的问题 JSP+持久层结构存在的问题 解决方法 J2EE的MVC架构(持久层+Jsp+Servlet) J2EE的MVC架构(持久层+Jsp+Servlet) 架构 +Jsp+Servlet 图书列表功能MVC实现 图书列表功能MVC实现 MVC 图书修改功能MVC实现 图书修改功能MVC实现 MVC
3 Sept. 2008 Confidential
6、图书修改功能MVC实现 图书修改功能MVC实现 MVC ①流程图 OpenModifyBook (Servlet)
请求1 请求1 (Book/OpenModify)
request1 changeBookInfoSuccess .jsp request2 changeBookInf.jsp 请求2 请求2 (Book/Modify)
successPage = "/admin/bookManage/addBook.jsp"; request.getRequestDispatcher(successPage).forward(request, response);
3 Sept. 2008 Confidential
步骤3 bookManage.jsp中 添加” 的提交地址改为Book/OpenAdd 步骤3:将bookManage.jsp中“添加”按钮的提交地址改为Book/OpenAdd 步骤4 addBook.jsp页面代码的编写 步骤4:addBook.jsp页面代码的编写 a、从request中获得图书对象books request中获得图书对象books 中获得图书对象 <% )request.getAttribute(“book” Book book = (Book )request.getAttribute(“book”); ……………… %> b、然后从此图书的信息显示在页面上。 然后从此图书的信息显示在页面上。 <%=book.getBook_author() %>
3 Sept. 2008 Confidential
2、JSP+持久层结构存在的问题 JSP+持久层结构存在的问题 ① JSP页面代码较多,不利于JSP页面的共享(页面设计人 员看不懂页面的代码)。 ② 数据库连接必须关闭的问题: 在JSP页面用finally块来关闭 ━ 问题: JSP页面无法共享,而且代码凌乱。 在DAO类中用finally块来关闭 ━ 问题: 代码凌乱。