Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
1,01 MB
Nội dung
Architecting Applications for the Web Lab01 Introduction to Struts Framework Mục tiêu - Hiểu rõ kiến trúc mơ hình MVC - Nắm vững luồng liệu framework Struts - Tạo ứng dụng đơn giản với framework Struts Phần I Bài tập step by step Bài 1.1 Tạo Project với Struts - Tạo Project Web Application Netbeans - Sử dụng framwork Struts tích hợp sẵn Java EE Step 1: Tạo project Netbeans File New Project Web Web Application IT Research Department @BKAP 2015 Page / 15 Enterprise Application Development in Java EE Name and Location: Project: Đặt tên Project Lab01 Project Location: Trỏ đến thư mục đặt thư mục Project Project Folder: Thư mục Project Server and Settings: Chọn GlassFish server IT Research Department @BKAP 2015 Page / 15 Architecting Applications for the Web Frameworks: Chọn Struts 1.3.10 tích hợp Netbeans Kiến trúc project sau hồn thành Step 2: Cấu hình chạy Project Lab01 RC Properties IT Research Department @BKAP 2015 Page / 15 Enterprise Application Development in Java EE Sources: Source/Binary Format: Chọn JDK cài Encoding: Chọn UTF8 Frameworks: Các framework dùng project Libraries: Các thư viện dùng project Run: Browser: IDE dùng để chạy Project Step 3: Build and Run Ứng dụng Bài 1.2 Xây dựng trang đăng nhập cho User - Trang đăng nhập có thông tin: User Name Passwork - Người dùng nhập thơng tin submit - Nếu User Name có giá trị Passwork: Hiển thị Login Success Wellcome UserName - Nếu User Name có giá trị khác Passwork: Hiển thị Invalid UserName Step 1: Tạo trang đăng nhập, hiển thị thông báo (VIEW) Trang nhập login.jsp Lab01 Web Pages RC New Other Web JSP IT Research Department @BKAP 2015 Page / 15 Architecting Applications for the Web Tạo form đăng nhập IT Research Department @BKAP 2015 Page / 15 Enterprise Application Development in Java EE Login Page STRUTS FRAMEWORK - LOGIN UserName Passwork Tạo trang hiển thị thông báo thành công success.jsp JSP Page IT Research Department @BKAP 2015 Page / 15 Architecting Applications for the Web Login Success Welcome Tạo trang hiển thị thông báo thất bại failure.jsp JSP Page Invalid User Name Step 2: Tạo ActionForm Bean để chứa thông tin UserName Password nhập từ form đăng nhập Lab01 Source Packages New Other Struts Struts ActionForm Bean IT Research Department @BKAP 2015 Page / 15 Enterprise Application Development in Java EE 1: Tên ActionForm Bean LoginForm 2: Package actionForm 3: Kế thừa lớp org.apache.struts.action.ActionForm 4: Khi tạo cấu hình struts-config.xml 5: Finish Kết thúc tạo ActionForm Bean Sau thành công, ActionForm Bean tự động khai báo strutsconfig.xml (Web Pages WEB-INF struts-config.xml) IT Research Department @BKAP 2015 Page / 15 Architecting Applications for the Web ========================= Tiles plugin =============================== > > ========================= Validator plugin ================================= > Code LoginForm.java Khai báo tạo phương thức get/set cho thuộc tính userName, password error Tạo phương thức validate bắt buộc nhập UserName Password package actionForm; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionMapping; import org.apache.struts.action.ActionMessage; /** * * @author Quang */ public class LoginForm extends org.apache.struts.action.ActionForm { private String userName; private String password; private String error; /** * */ IT Research Department @BKAP 2015 Page 10 / 15 Architecting Applications for the Web public LoginForm() { super(); // TODO Auto-generated constructor stub } /** * This is the action called from the Struts framework * * @param mapping The ActionMapping used to select this instance * @param request The HTTP Request we are processing * @return */ @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (getUserName() == null || getUserName().length() < 1) { errors.add("userName", new ActionMessage("error.userName.required")); // TODO: add 'error.name.required' key to your resources } if (getPassword() == null || getPassword().length() < 1) { errors.add("password", new ActionMessage("error.password.required")); // TODO: add 'error.name.required' key to your resources } return errors; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getError() { IT Research Department @BKAP 2015 Page 11 / 15 Enterprise Application Development in Java EE return error; } public void setError(String error) { this.error = error; } } Step 3: Tạo lớp action Chứa business login (Model) ứng dụng nhận liệu từ ActionForm Bean Thực thi hàm Excecute(): Kiểm tra tính hợp lệ UserName Password nhập vào Dựa vào kết nhận xác định trang jsp (View) thực Tạo Struts Action Lab01 Source Packages New Other Struts Struts Action 1: Tên Action LoginAction 2: Package action IT Research Department @BKAP 2015 Page 12 / 15 Architecting Applications for the Web 3: Configuration File /WEB-INF/struts-config.xml: Tự động khai báo action file struts-config.xml 4: Action Path: Khai báo tên action Form login gọi /login 5: Next Sau hoàn thành, action khai báo tự động struts-config.xml Code LoginAction.java package action; import actionForm.LoginForm; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; IT Research Department @BKAP 2015 Page 13 / 15 Enterprise Application Development in Java EE import org.apache.struts.action.ActionMapping; /** * * @author Quang */ public class LoginAction extends org.apache.struts.action.Action { /* forward name="success" path="" */ private static final String SUCCESS = "success"; private static final String FAILURE = "failure"; /** * This is the action called from the Struts framework * * @param mapping The ActionMapping used to select this instance * @param form The optional ActionForm bean for this request * @param request The HTTP Request we are processing * @param response The HTTP Response we are processing * @throws java.lang.Exception * @return */ @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm loginForm = (LoginForm) form; String a1 = loginForm.getUserName(); String a2 = loginForm.getPassword(); if (loginForm.getUserName().equals(loginForm.getPassword())) { return mapping.findForward(SUCCESS); } else { return mapping.findForward(FAILURE); } } } Step 4: Điều chuyển hướng thẻ global-forwards struts-config.xml IT Research Department @BKAP 2015 Page 14 / 15 Architecting Applications for the Web Step 5: Cấu hình web.xml login.jsp Step 6: Build and Run Ứng dụng Đăng nhập thành công Đăng nhập thất bại IT Research Department @BKAP 2015 Page 15 / 15 ... login.jsp Lab0 1 Web Pages RC New Other Web JSP IT Research Department @BKAP 2015 Page / 15 Architecting Applications for the Web Tạo form đăng nhập IT Research Department @BKAP 2015 Page... Netbeans Kiến trúc project sau hồn thành Step 2: Cấu hình chạy Project Lab0 1 RC Properties IT Research Department @BKAP 2015 Page / 15 Enterprise Application Development in Java EE Sources:... tên Project Lab0 1 Project Location: Trỏ đến thư mục đặt thư mục Project Project Folder: Thư mục Project Server and Settings: Chọn GlassFish server IT Research Department @BKAP 2015 Page /