s2sh架框架步骤教学内容.doc
Good is good, but better carries it.精益求精,善益求善。s2sh架框架步骤-今天开发了一个项目,s2sh做的,把开发的步骤记下来,Struts2.1.6Hibernate3.1Spring2.5Jdk1.6Tomcat5.5.Myeclipse6.5Sqlserver2000创建一个webproject,选中javaEE5.0然后建package,结构如下加入struts2的jar包到lib在src下建一个struts.xml文件,,加上<includefile=”struts-default.xml></include>”下一步,在web.xml文件里配置,strutrs的过滤器<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</fiter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>向工程里引入hibernateNext,next去掉框中选中的,点击finish接着再引入spring到工程里选中前三个加spring2.5weblibreriescopytolib在web.xml加入<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>在src下的applicationContext.xml加上http:/www.springframework.org/schema/aophttp:/www.springframework.org/schema/beans/spring-aop-2.5.xsdhttp:/www.springframework.org/schema/txhttp:/www.springframework.org/schema/beans/spring-tx-2.5.xsd将数据库里的表反射到工程里系统就自动生成了一个java类和一个映射文件在dao里建一个接口packagecom.dao;importcom.entity.Userinfo;publicinterfaceUserInfoDaopublicUserinfologin(Stringname,Stringpwd);Dao.Impl里去实现上面的接口packagecom.dao.Impl;importjava.util.List;importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;importcom.dao.UserInfoDao;importcom.entity.Userinfo;publicclassUserInfoDaoImplextendsHibernateDaoSupportimplementsUserInfoDaopublicUserinfologin(Stringname,Stringpwd)Stringhql="fromUserinfouwhereu.uname='"+name+"'andu.upwd='"+pwd+"'"Listlist=super.getHibernateTemplate().find(hql);if(list.size()>0)return(Userinfo)list.get(0);returnnull;Biz定义的接口跟dao的一样packagecom.biz;importcom.entity.Userinfo;publicinterfaceUserInfoBizpublicUserinfologin(Stringname,Stringpwd);Biz.Impl去实现biz接口packagecom.biz.Impl;importcom.biz.UserInfoBiz;importcom.dao.UserInfoDao;importcom.entity.Userinfo;publicclassUserInfoBizImplimplementsUserInfoBizprivateUserInfoDaouserInfoDao;publicUserinfologin(Stringname,Stringpwd)returnuserInfoDao.login(name,pwd);publicUserInfoDaogetUserInfoDao()returnuserInfoDao;publicvoidsetUserInfoDao(UserInfoDaouserInfoDao)this.userInfoDao=userInfoDao;在web.action里建一个action类packagecom.web.action;importorg.apache.struts.actions.DispatchAction;importcom.biz.UserInfoBiz;importcom.entity.Userinfo;importcom.opensymphony.xwork2.Action;publicclassUserInfoActionextendsDispatchActionprivateUserInfoBizuserInfoBiz;privateStringname;privateStringpwd;publicStringgetName()returnname;publicvoidsetName(Stringname)this.name=name;publicStringgetPwd()returnpwd;publicvoidsetPwd(Stringpwd)this.pwd=pwd;publicStringlogin()Userinfouser=userInfoBiz.login(name,pwd);if(user!=null)return"success"return"error"publicUserInfoBizgetUserInfoBiz()returnuserInfoBiz;publicvoidsetUserInfoBiz(UserInfoBizuserInfoBiz)this.userInfoBiz=userInfoBiz;类写好了,然后就开始配置spring<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http:/www.springframework.org/schema/beans"xmlns:aop="http:/www.springframework.org/schema/aop"xmlns:tx="http:/www.springframework.org/schema/tx"xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http:/www.springframework.org/schema/beanshttp:/www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp:/www.springframework.org/schema/aophttp:/www.springframework.org/schema/aop/spring-aop-2.5.xsdhttp:/www.springframework.org/schema/txhttp:/www.springframework.org/schema/tx/spring-tx-2.5.xsd"><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><beanid="userInfoDao"class="com.dao.Impl.UserInfoDaoImpl"><propertyname="sessionFactory"ref="sessionFactory"></property></bean><beanid="userInfoBizTarget"class="com.biz.Impl.UserInfoBizImpl"><propertyname="userInfoDao"ref="userInfoDao"></property></bean><beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"></property></bean><beanid="baseBiz"abstract="true"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"><propertyname="transactionManager"ref="transactionManager"></property><propertyname="transactionAttributes"><props><propkey="save*">PROPAGATION_REQUIRED</prop><propkey="update*">PROPAGATION_REQUIRED</prop><propkey="delete*">PROPAGATION_REQUIRED</prop><propkey="*">PROPAGATION_REQUIRED,readOnly</prop></props></property></bean><beanid="userInfoBiz"parent="baseBiz"><propertyname="target"ref="userInfoBizTarget"></property></bean><beanid="userInfoaction"class="com.web.action.UserInfoAction"scope="prototype"><propertyname="userInfoBiz"ref="userInfoBiz"></property></bean></beans>在webRoot下建一个jsp,index.jsp<%pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%><%taglibprefix="s"uri="/struts-tags"%><html><head></head><body><s:formaction="/login.action"><s:textfieldname="name"label="用户名"></s:textfield><s:passwordname="pwd"label="密码"></s:password><s:submit></s:submit></s:form></body></html>再写一个登录成功页面,失败页面success.jsp,error.jsp在struts.xml配置<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-/ApacheSoftwareFoundation/DTDStrutsConfiguration2.0/EN""http:/struts.apache.org/dtds/struts-2.0.dtd"><struts><includefile="struts-default.xml"></include><constantname="struts.objectFactory"value="spring"></constant><packagename="mypackage"extends="struts-default"namespace="/"><actionname="login"method="login"class="userInfoaction"><resultname="success">/success.jsp</result><resultname="error">/error.jsp</result></action></package></struts>整个项目的结构是一个基于s2sh的项目就完成了,启动tomacat-