Hướng dẫn sử dụng Sự kết hợp của 2 framework Spring, Hibernate với JSF

22 538 0
Hướng dẫn sử dụng Sự kết hợp của 2 framework Spring,  Hibernate với JSF

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hướng dẫn sử dụng Sự kết hợp framework Spring + Hibernate với JSF Version 1.0 Revision History Date Thứ năm, Ngày 04/12/2008 Version 1.0 Description - Khởi tạo Author Lê Diệp Oanh - Viết hướng dẫn sử dụng utt1511853553.doc Nguyen Anh Kien Page of 22 Table of Contents Overview Các resource cần thiết version Hướng dẫn sử dụng Chạy ứng dụng: 20 Tài liệu tham khảo 23 utt1511853553.doc Nguyen Anh Kien Page of 22 Overview Đây kết hợp để xây dựng ứng dụng web theo mơ hình MVC: Tầng view JSF đảm nhận, tầng bussiness Spring đảm nhận tầng tương tác với DB Hibernate đảm nhiệm Không giám khẳng định kết hợp tốt nhất, kết hợp Spring Hibernate khơng có vấn đề phải phàn nàn Và theo số ý kiến JSF tốt Struts (http://www.theserverside.com/discussions/thread.tss?thread_id=33884) Các resource cần thiết version a Spring 2.5.4: Tìm spring-framework-2.5.4.zip thư viện sau: i spring.jar b JSF 1.2.3: Tìm myfaces-core-1.2.3-bin.zip thư viện sau: i commons-beanutils-1.7.0.jar ii commons-codec-1.3.jar iii commons-collections-3.2.jar iv commons-digester-1.8.jar v commons-discovery-0.4.jar vi commons-logging-1.1.1.jar vii myfaces-api-1.2.3.jar viii myfaces-impl-1.2.3.jar c jstl 1.2: Tìm jstl-1.2.jar.zip thư viện sau: i jstl-1.2.jar d tomahawk12-1.1.7: Tìm tomahawk12-1.1.7-bin.zip thư viện sau: i tomahawk12-1.1.7.jar e Hibernate 3.2.6: Tìm hibernate-3.2.6.ga.zip thư viện sau: i ant-1.6.5.jar ii ant-antlr-1.6.5.jar iii ant-junit-1.6.5.jar iv ant-launcher-1.6.5.jar v antlr-2.7.6.jar vi ant-swing-1.6.5.jar vii asm.jar viii asm-attrs.jar ix c3p0-0.9.1.jar x cglib-2.1.3.jar xi checkstyle-all.jar xii cleanimports.jar xiii concurrent-1.3.2.jar xiv dom4j-1.6.1.jar xv ehcache-1.2.3.jar xvi jaas.jar xvii jacc-1_0-fr.jar xviii javassist.jar xix jaxen-1.1-beta-7.jar xx jboss-cache.jar xxi jboss-common.jar xxii jboss-jmx.jar xxiii jboss-system.jar xxiv jgroups-2.2.8.jar utt1511853553.doc Nguyen Anh Kien Page of 22 f g h i j xxv jta.jar xxvi junit-3.8.1.jar xxvii log4j-1.2.11.jar xxviii oscache-2.1.jar xxix proxool-0.8.3.jar xxx swarmcache-1.0rc2.jar xxxi syndiag2.jar xxxii versioncheck.jar xxxiii xerces-2.6.2.jar xxxiv xml-apis.jar Chỉ chạy Tomcat >= 6.0: apache-tomcat-6.0.16.exe jdk >=1.5: jdk-1_5_0_15-windows-i586-p.exe PostgresSQL8.2 : postgresql-8.2.6-2.zip cài đặt postgresql-8.2-509.jdbc2.jar thư viện JDBC Eclipse 3.3: eclipse-jee-europa-winter-win32 Tomcat plugin cho Eclipse 3.3: tomcatPluginV321.zip (Chạy tomcat eclipse), sau copy thư mục com.sysdeo.eclipse.tomcat_3.2.1 vào thư mục plugin eclipse, ta thiết định Tomcat sau: Vào mục Preference… Thiết định Tomcat sau: utt1511853553.doc Nguyen Anh Kien Page of 22 Hướng dẫn sử dụng B1: Tạo project dạng Tomcat project: Tên project JSF_SP_Hi01 utt1511853553.doc Nguyen Anh Kien Page of 22 Cấu trúc project sau tạo xong: (Tạo thêm thư mục jsp để chứa file jsp) B2: Copy thư viện vào thư mục /WEB-INF/lib/ Sau tiến hành add vào Libraries Java Build Path utt1511853553.doc Nguyen Anh Kien Page of 22 B3: Kiểm tra jdk có phải sử dụng jdk hay không: Vào Project properties -> vào Java Build Path, kiểm tra hình sau không: utt1511853553.doc Nguyen Anh Kien Page of 22 Sau vào mục Java Compiler kiểm tra hình sau hay khơng: utt1511853553.doc Nguyen Anh Kien Page of 22 B4: Cấu hình file web.xml sau: Những đoạn text bơi màu đỏ đoạn tùy biến, cụ thể sau: +JSF_SP_Hi01 Tag có khơng, tên hiển thị web application + index.html Tag có khơng, định file mặc định chạy ứng dụng Ví dụ nhập vào địa chỉ: http://localhost:8080/JSF_SP_Hi01/, dựa vào welcome-file mà chạy file tương ứng http://localhost:8080/JSF_SP_Hi01/ tương đương với http://localhost:8080/JSF_SP_Hi01/index.html +*.jsf Chỉ định dạng url javax.faces.webapp.FacesServlet xử lý Chính phần xử lý liên quan đến JSF + /WEB-INF/JSF_SP_Hi01.xml Chỉ định đến file cấu hình Spring + Hibernate project, đặt tên file xml tùy ý + *.jsf Chỉ định dạng url filter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter Đây phần filter Spring với request dạng jsf utt1511853553.doc Nguyen Anh Kien Page 10 of 22 JSF_SP_Hi01 index.html Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf javax.faces.CONFIG_FILES /WEB-INF/faces-config.xml contextConfigLocation /WEB-INF/JSF_SP_Hi01.xml sessionFilter org.springframework.orm.hibernate3.support.OpenSessionInViewFilter sessionFilter *.jsf org.springframework.web.context.ContextLoaderListener org.apache.myfaces.webapp.StartupServletContextListener B5: Tạo file properties kết nối với DB, cụ thể ví dụ postgresql: /WEBINF/postgres.properties utt1511853553.doc Nguyen Anh Kien Page 11 of 22 driverClassName=org.postgresql.Driver url=jdbc:postgresql://localhost:5432/DRDatabase username=postgres password=lediepoanh dialect=org.hibernate.dialect.PostgreSQLDialect hbm2ddl.auto=update B5: Cấu hình file cho kết hợp Spring + Hibernate: JSF_SP_Hi01.xml sau: Lưu ý phần tô đỏ sau: + /WEB-INF/postgres.properties Tên file dùng để kết nối DB tạo bước +${driverClassName} Các tên dấu ${} tên phần tử tương ứng file postgres.properties + /bean/User.hbm.xml Chỉ đến file hibernate XML Mapping (.hbm.xml) + Class tạo project để xử lý tầng Database utt1511853553.doc Nguyen Anh Kien Page 12 of 22 /WEB-INF/postgres.properties ${driverClassName} ${url} ${username} ${password} /bean/User.hbm.xml ${dialect} true ${hbm2ddl.auto} PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED PROPAGATION_REQUIRED utt1511853553.doc Nguyen Anh Kien Page 13 of 22 B6: Tạo Class User tương ứng với table users DB sau: bean.User package bean; import java.io.Serializable; public class User implements Serializable { private Integer userId; private String userName; private String userPassword; private String userEmail; private String userAddress; public User(Integer userId, String userName, String userPassword, String userEmail, String userAddress) { this.userId = userId; this.userName = userName; this.userPassword = userPassword; this.userEmail = userEmail; this.userAddress = userAddress; } public User() { } public User(Integer userId) { this.userId = userId; } public Integer getUserId() { return this.userId; } public void setUserId(Integer userId) { this.userId = userId; } public String getUserName() { return this.userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return this.userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } public String getUserEmail() { return this.userEmail; } public void setUserEmail(String userEmail) { this.userEmail = userEmail; } public String getUserAddress() { return this.userAddress; } public void setUserAddress(String userAddress) { this.userAddress = userAddress; } } Và tạo file mapping User.hbm.xml khai báo file cấu hình Spring + Hibernate: utt1511853553.doc Nguyen Anh Kien Page 14 of 22 B7: Tạo class dùng để check user: bean.CheckValidUser utt1511853553.doc Nguyen Anh Kien Page 15 of 22 package bean; import util.ServiceFinder; import dao.HibernateSpringDAO; public class CheckValidUser { String userName; String pwd; boolean exist; public void setUserName(String userName) { this.userName = userName; } public void setPwd(String pwd) { this.pwd = pwd; } public void setExist(boolean exist) { this.exist = exist; } public String getUserName() { return userName; } public String getPwd() { return pwd; } public boolean getExist() { return exist; } public String checkUser() throws Exception { String status = "failure"; HibernateSpringDAO dao = (HibernateSpringDAO) ServiceFinder findBean("SpringHibernateDao"); if (dao.validateUser(getUserName(), getPwd()) != null) { exist = false; status = "success"; } exist = true; return status; } } B8: Tạo interface DAO dao.HibernateSpringDAO có chứa phương thức validateUser() sử dụng class CheckValidUser: package dao; import org.springframework.dao.DataAccessException; import bean.User; public interface HibernateSpringDAO { public User validateUser(String strUserName,String password) throws DataAccessException,java.sql.SQLException; } Và class để implement interface này: dao HibernateSpringDAOImpl sau: utt1511853553.doc Nguyen Anh Kien Page 16 of 22 package dao; import java.util.List; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Expression; import org.springframework.dao.DataAccessException; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import bean.User; public class HibernateSpringDAOImpl extends HibernateDaoSupport implements HibernateSpringDAO { public User validateUser(String strUserName,String password) throws DataAccessException, java.sql.SQLException { User obj = null; DetachedCriteria criteria = DetachedCriteria.forClass(User.class); criteria.add(Expression.eq("userName", strUserName)); criteria.add(Expression.eq("userPassword", password)); List objs = getHibernateTemplate().findByCriteria(criteria); if ((objs != null) && (objs.size() > 0)) { obj = (User) objs.get(0); } return obj; } } B9: Tạo Class util.ServiceFinder để tìm bean sau: package util; import javax.faces.context.FacesContext; import javax.servlet.ServletContext; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class ServiceFinder { public static Object findBean(String beanName) { FacesContext context = FacesContext.getCurrentInstance(); ServletContext servletContext = (ServletContext) context getExternalContext().getContext(); ApplicationContext appContext = WebApplicationContextUtils getWebApplicationContext(servletContext); Object o = appContext.getBean(beanName); } return o; } B10: Tạo file xml faces-config.xml để khai báo file jsf bean utt1511853553.doc Nguyen Anh Kien Page 17 of 22 CheckValidUser bean.CheckValidUser session /jsp/index.jsp failure /jsp/index.jsp success /jsp/welcome.jsp B11: Tạo file html jsp khai báo sau: File index.html: JSF_SP_Hi01 Loading File /jsp/index.jsp: utt1511853553.doc Nguyen Anh Kien Page 18 of 22 JSF_SP_Hi01 File welcome.jsp: JSF_SP_Hi01 Chạy ứng dụng: B1: Start Tomcat: Click vào biểu tượng B2: Đưa project vào server Tomcat sau utt1511853553.doc Nguyen Anh Kien Page 19 of 22 Đảm bảo trình khơng có lỗi xảy ra, hình kết sau (Trên Console) Và: utt1511853553.doc Nguyen Anh Kien Page 20 of 22 B3: Vào trình duyệt, gõ vào address: http://localhost:8080/JSF_SP_Hi01/ Màn sau:    Hồn tất demo kết hợp Spring + Hibernate + JSF utt1511853553.doc Nguyen Anh Kien Page 21 of 22 Tài liệu tham khảo - http://www.roseindia.net/jsf/myfacesspring/index.shtml\ utt1511853553.doc Nguyen Anh Kien Page 22 of 22

Ngày đăng: 28/11/2017, 14:19

Mục lục

  • 2. Các resource cần thiết và version

  • 3. Hướng dẫn sử dụng

  • 5. Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan