用myeclipse搭建S2SH struts2 spring hibernate
step1: 在myeclipse上新建一個web項目
?
step2: 加入struts2所需的包
freemarker-2.3.16
ognl-3.0
struts2-core-2.2.1
struts2-dojo-plugin-2.2.1
struts2-json-plugin-2.2.1
struts2-spring-2.2.1
xwork-core-2.2.1?
?
step3:加入spring2.5
?右鍵點擊工程名稱,MyEclipse->Add Spring Capabilities。?
選擇Spring version為Spring 2.5,選中Spring 2.5 AOP Libraries、Spring 2.5 Core Libraries、Spring 2.5 Persistence Core Libraries、Spring 2.5 Persistence JDBC Libraries、Spring 2.5 Web Libraries共5個包。選中Copy checked Library contents to project folder (TLDs always copied),點擊Next。?點擊Next,點擊Folder文本框后的Browse,在彈出對話框中選擇spring配置文件存儲位置為WebRoot/WEB-INF,點擊Finish。至此已經完成加載Spring,在WEB-INF文件夾下已經生成了配置文件applicationContext.xml。?
?
step4: 在data browser中新建一個connection
?
step5: hibernate
右鍵點擊工程名稱,MyEclipse->Add Hibernate Capabilities。?選擇Hibernate Specification為Hibernate 3.2,選中所有包,選中Copy checked Library Jars to project folder and add to build-path,點擊Next。?
選擇Spring configuration file (applicationContext.xml),點擊Next。?
選擇Existing Spring configuration file,點擊Next?
只需在Bean Id文本框中輸入一個Id名,作為數據庫源的代用名,意義不大,采用默認設置即可。然后在DB Driver下拉列表中,選擇上一步在MyEclipse中創建好的數據庫源SQL Server 2005,其他信息將自動填寫,點擊Next。?
在彈出對話框中去掉Create SessionFactory class?復選框,不創建該類,點擊Finish完成。?
創建過程中,加載的jar包文件可能有重復,所以這個時候如果提示有某些jar包重復,選擇Keep Existing即可。?
?
?
| 6. Delete Conflictive Jars? 手動刪除三個重復的jar包(不能在build-path里面刪除,在build-path里面刪除無效):? ? asm-2.2.3.jar? ? cglib-2.1.3.jar? ? xerces-2.6.2.jar ? 7. Create struts.xml? ??????? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ??????? "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> ?<constant name="struts.objectFactory" value="spring" /> ?<include file="struts-default.xml"></include> ?<package name="default" extends="struts-default"> ??<action name="userInfoLogin" class="userInfoAction" method="login"> ???<result name="FAILURE">/MainWeb/failure.jsp </result> ???<result name="SUCCESS">/MainWeb/success.jsp</result> ??</action> ?</package> </struts>8.?配置web.xml? 配置web.xml文件,其內容如下:? Web.xml代碼<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ?xmlns="http://java.sun.com/xml/ns/javaee" ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ?http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">?<context-param> ??<param-name>contextConfigLocation</param-name> ??<param-value>/WEB-INF/applicationContext.xml</param-value> ?</context-param>?<filter> ??<filter-name>struts2</filter-name> ??<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> ?</filter> ?<filter-mapping> ??<filter-name>struts2</filter-name> ??<url-pattern>/*</url-pattern> ?</filter-mapping>?<welcome-file-list> ??<welcome-file>index.jsp</welcome-file> ?</welcome-file-list>?<listener> ??<listener-class> ?? ???org.springframework.web.context.ContextLoaderListener ??</listener-class> ?</listener></web-app>9. 使用Myeclipse反向生成dao層 將前面數據源dataSource所示數據庫SSH中的UserInfo表反向生成Hibernate實體類文件。? UserInfo.java? UserInfoDaoImpl.java? UserInfo.hbm.xml?不要生成abstract class,然后一路點擊Next即可。? 在com.shawnqiu.bean下生成三個文件UserInfo.java、UserInfoDAO.java、UserInfo.hbm.xml。將UserInfoDAO.java 更名為UserInfoDaoImpl.java,置于com.shawnqiu.dao.impl,將UserInfo.hbm.xml置于dbConfig下。? 10. 創建UserInfoServiceImpl.java?Java代碼package com.shawnqiu.service.impl;import java.util.*; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; import com.shawnqiu.bean.UserInfo;public class UserInfoServiceImpl extends HibernateDaoSupport { ?//普通用戶登錄驗證 ?@SuppressWarnings("unchecked") ?public boolean checkUser(String userName,String userPassword){ ??? boolean flag = false; ??? String hql = "from UserInfo as userInfo where userInfo.userName = '"+userName+"' and userInfo.userPassword = '"+userPassword+"'"; ??? List<UserInfo> userInfoList = this.getHibernateTemplate().find(hql); ??? if(userInfoList.size()>0){ ???? flag = true; ??? } ??? return flag; ?} }11. 創建UserInfoService.java? 右鍵點擊UserInfoServiceImpl.java,選擇Refactor->Extract Interface。? 設置Interface name為UserInfoService,同時選擇Select All即可,點擊OK。? 如上圖所示,UserInfoService.java和UserInfoServiceImpl.java在同一package中。右鍵點擊UserInfoService.java,選擇Refactor->Move? 選擇com.shawnqiu.service,點擊OK即可。? 12. 創建UserInfoAction.java? Java代碼package com.shawnqiu.action;import com.opensymphony.xwork2.ActionSupport; import com.shawnqiu.service.UserInfoService;public class UserInfoAction extends ActionSupport{?private String userName; ?private String userPassword; ?public UserInfoService getUserInfoService() { ??return userInfoService; ?} ?public void setUserInfoService(UserInfoService userInfoService) { ??this.userInfoService = userInfoService; ?}?private UserInfoService userInfoService; ?public String getUserName() { ??? return userName; ?} ?public void setUserName(String userName) { ??? this.userName = userName; ?} ??public String getUserPassword() { ??? return userPassword; ?} ?public void setUserPassword(String userPassword) { ??? this.userPassword = userPassword; ?}?public String execute(){ //??? String page = "FAILURE"; //??? boolean flag = false; //??? flag = personManage.checkUser(userName, userPassword); //??? if(flag){ //???? page = "SUCCESS"; //??? } //??? return page;??return "";?}?public String login(){ ???? String page = "FAILURE"; ???? boolean flag = false; ???? flag = userInfoService.checkUser(userName, userPassword); ???? if(flag){ ????? page = "SUCCESS"; ???? } ???? return page; ?}}13. 創建Jsp Pages? 首先在WebRoot下新建一個MainWeb文件夾,并同時創建3個文件,分別是login.jsp、success.jsp、failure.jsp,源代碼如下。? login.jsp? Jsp代碼<%@ page language="java" pageEncoding="utf-8"%> <%@tagliburi="/struts-tags" prefix="s"%><html> <head> ?? <title>用戶登錄</title> </head> <body> <center> ?? <div id="login"> ??? <s:form action="userInfoLogin"> ???? <s:textfield label="用戶名" name="userName"></s:textfield> ???? <s:password label="密碼" name="userPassword"></s:password> ???? <s:submit value="登錄"></s:submit> ??? </s:form> ?? </div> </center> </body> </html>success.jsp? Jsp代碼<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ??? <title>Failure</title> ? </head> ? <body> ??? 登錄成功!<br> ? </body> </html> failure.jspJsp代碼<%@ page language="java" pageEncoding="utf-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ? <head> ??? <title>Failure</title> ? </head> ? <body> ??? 登錄失敗!<br> ? </body> </html> 14. 配置applicationContext.xml? Applicationcontext.xml代碼<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=SSH"> </property> <property name="username" value="sa"></property> <property name="password" value="Wxzy!@%&"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.SQLServerDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>dbConfig/UserInfo.hbm.xml</value> </list> </property> </bean> <bean id="userInfoServiceImpl" class="com.shawnqiu.service.impl.UserInfoServiceImpl" abstract="false" ?? lazy-init="default" autowire="default" dependency-check="default" scope="prototype"> ?? <property name="sessionFactory" > ??? <ref local="sessionFactory"/> ?? </property> </bean> <bean id="userInfoAction" class="com.shawnqiu.action.UserInfoAction" scope="prototype"> ?????? <property name="userInfoService"> ?????????? <ref bean="userInfoServiceImpl" /> ?????? </property> </bean> </beans> 15. 創建log4j.properties? Log4j.properties代碼# Set root category priority to INFO and its only appender to CONSOLE. log4j.rootCategory=INFO, CONSOLE #log4j.rootCategory=INFO, CONSOLE, LOGFILE# Set the enterprise logger category to FATAL and its only appender to CONSOLE. log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE# CONSOLE is set to be a ConsoleAppender using a PatternLayout. log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Threshold=INFO log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n# LOGFILE is set to be a File appender using a PatternLayout. log4j.appender.LOGFILE=org.apache.log4j.FileAppender log4j.appender.LOGFILE.File=axis.log log4j.appender.LOGFILE.Append=true log4j.appender.LOGFILE.Threshold=INFO log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout log4j.appender.LOGFILE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n |
轉載于:https://www.cnblogs.com/kevinge/archive/2011/05/20/2051886.html
總結
以上是生活随笔為你收集整理的用myeclipse搭建S2SH struts2 spring hibernate的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql全文索引中文问题的解决(转)
- 下一篇: 【转CSDN常高伟】如何学习一门新的语言