javascript
Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置
想動手做一個SSH框架下的登錄注冊功能,雖然網上類似的教程很多,可是看了一圈,不是版本問題,就是漏掉了許多關鍵的步驟。經過幾個小時的奮戰,終于搞定了所謂很簡單的SSH整合實現注冊功能,下面把所有的步驟分享出來,希望能幫到有需要的朋友。
? ? 下面以簡單的注冊模塊為例,描述整合的步驟及配置。
? 1.創建一個Web Project,工程名字任意;
? 2.添加Struts 2支持:右鍵單擊工程文件夾,在彈出菜單中的MyEclipse->Add Struts Capabilities,這里需要選擇Struts的版本,筆者選擇是Struts 2.1,另外struts action 的url,筆者選擇的是“\*”,樣式也可以進行選擇,另外還要注意libraries的選擇,需要引入Struts 2 Core Libraries與Struts2 Spring Libraries,其他都選擇默認即可;
? 3.添加Spring 3的支持:右鍵單擊工程文件夾,在彈出菜單中的MyEclipse->Add Spring Capabilities,在libraries的選擇上,需要添加Spring 3.0 AOP Libraries、Spring 3.0 Core Libraries、Spring 3.0 Persistence Core Libraries、Spring 3.0 Persistence JDBC Libraries、Spring 3.0 Web Libraries;
? 4.添加Hibernate 3.3的支持:右鍵單擊工程文件夾,在彈出菜單中的MyEclipse->Add Hibernate Capabilities,這里需要選擇配置文件為applicationContext.xml,選擇Existing Spring configuration file,JDBC的配置根據所選擇的數據庫,查詢相關的配置即可,Create SessionFactory class的勾選去掉;
? 5.進行數據庫映射:在 DB Browser里打開數據庫,在用到的數據庫表上,右鍵單擊,選擇Hibernate Mapping and Application Generation,創建*.hbm.xml,JDO,DAO,其他選擇默認的設置即;
? 6.修改web.xml配置文件,添加spring的配置信息,代碼如下:
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/classes/applicationContext.xml</param-value></context-param>?
? ? 7.修改struts.xml文件,讓struts支持spring,添加以下代碼:
<constant name="struts.objectFactory" value="spring"/>?
? ?8.創建RegisterAction,繼承至ActionSupport,添加兩個屬性,一個用于獲取填寫的注冊信息,一個是DAO用于數據庫操作,其中DAO也可以根據喜好封裝成service,這里不再贅述,代碼如下:
public class RegisterAction extends ActionSupport{private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public UserDAO getUserDAO() {return userDAO;}public void setUserDAO(UserDAO userDAO) {this.userDAO = userDAO;}private UserDAO userDAO;public String execute() throws Exception{if(user!=null){userDAO.save(user);return SUCCESS;}else{return ERROR;}} }?
? ? 9.修改spring配置applicationContext.xml,為我們的RegisterAction添加一個bean,這里要注意userDAO是我們剛創建的RegisterAction類中的屬性,它是bean UserDAO的引用,所需添加的代碼如下:
<bean id="RegisterAction" class="actions.RegisterAction"><property name="userDAO"><ref bean="UserDAO"/></property></bean>?
? ? 10.修改struts配置struts.xml,添加一個繼承自struts-default的package,以及一個action,需要注意的是action的class不再RegisterAction類,而是我們在spring中聲明的RegisterAction bean的id,具體的代碼如下:
<package name="struts" extends="struts-default"><action name="Register" class="RegisterAction"><result name="error">/error.jsp</result><result name="success">/success.jsp</result></action> </package>?
? ? 11.添加相關的jsp頁面,這里給出關鍵的register.jsp頁面的代碼,需要注意的是user.name和user.password是RegisterAction中所定義的屬性user下的屬性,通過hibernate映射生成,如下:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><base href="<%=basePath%>"><title>My JSP 'Register.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body>This is my JSP page. <br><form action="Register.action" method="post"><table align="center"><tr><td>用戶名:<input type="text" name="user.username"/></td></tr><tr><td>密碼:<input type="text" name="user.password"/></td></tr><tr><td><input type="submit" value="登錄"/><input type="reset" value="重填"/></td></tr></table></form></body> </html>??? 總結:到這里,所有的配置都已經完成,部署之后進行簡單的測試,填寫用戶名和密碼,點擊確認之后,數據庫中便會成功添加一條記錄。
作者schbook:seekerxu@163.com
轉載于:https://www.cnblogs.com/appworld/archive/2013/04/29/3051276.html
總結
以上是生活随笔為你收集整理的Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 泛型(Generic)-反射泛形-Dao
- 下一篇: [Yii Framework] Yii如