xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"
xsi:
schemaLocation="
index.jsp
contextConfigLocation
classpath:
applicationContext.xml
org.springframework.web.context.ContextLoaderListener
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
*.action
4.建立User.java和映射文件
(1)建包com.bean
(2)通过反向工程生成User.java和映射文件
packagecom.bean;
publicclassUserimplementsjava.io.Serializable{
privateIntegerid;
privateStringname;
privateStringpassword;
privateStringtruename;
privateStringtelephone;
privateIntegerisadmin;
/**defaultconstructor*/
publicUser(){
}
/**fullconstructor*/
publicUser(Stringname,Stringpassword,Stringtruename,
Stringtelephone,Integerisadmin){
this.name=name;
this.password=password;
this.truename=truename;
this.telephone=telephone;
this.isadmin=isadmin;
}
publicIntegergetId(){
returnthis.id;
}
publicvoidsetId(Integerid){
this.id=id;
}
publicStringgetName(){
returnthis.name;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPassword(){
returnthis.password;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetTruename(){
returnthis.truename;
}
publicvoidsetTruename(Stringtruename){
this.truename=truename;
}
publicStringgetTelephone(){
returnthis.telephone;
}
publicvoidsetTelephone(Stringtelephone){
this.telephone=telephone;
}
publicIntegergetIsadmin(){
returnthis.isadmin;
}
publicvoidsetIsadmin(Integerisadmin){
this.isadmin=isadmin;
}
}
User.hbm.xml
xmlversion="1.0"encoding="utf-8"?
>
DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"
"
5.实现dao和impl
(1)建包com.dao和com.dao.impl
(2)建立接口UserDao.java和接口实现UserDaoImpl.java
packagecom.dao;
importcom.bean.User;
publicinterfaceUserDao{
publicvoidinsertUser(Useruser);
臣publicListqueryByName(Stringname);
}
packagecom.dao.impl;
importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;
importcom.bean.User;
importcom.dao.UserDao;
publicclassUserDaoImplextendsHibernateDaoSupportimplementsUserDao{
publicvoidinsertUser(Useruser){
super.getHibernateTemplate().save(user);
}
publicListqueryByName(Stringname){
Stringhql="fromUseruwhereu.namelike?
";
//Listlist=super.getHibernateTemplate().find(hql,"%"+name+"%");
Sessionsession=super.getSession();
Queryquery=session.createQuery(hql);
query.setString(0,"%"+name+"%");
query.setFirstResult(0);
query.setMaxResults(5);
returnquery.list();
}
}
5.实现biz和impl
(1)建包com.biz和com.biz.impl
(2)建立业务接口Userbiz.java和接口实现UserBizImpl.java
packagecom.biz;
importcom.bean.User;
publicinterfaceUserBiz{
publicvoidregister(Useruser);
publicListqueryByName(Stringname);
}
packagecom.biz.impl;
importcom.bean.User;
importcom.biz.UserBiz;
importcom.dao.UserDao;
publicclassUserBizImplimplementsUserBiz{
privateUserDaouserDao=null;
publicUserDaogetUserDao(){
returnuserDao;
}
publicvoidsetUserDao(UserDaouserDao){
this.userDao=userDao;
}
publicvoidregister(Useruser){
userDao.insertUser(user);
}
publicListqueryByName(Stringname){
returnuserDao.queryByName(name);
}
}
5.Action实现
(1)添加包com.action
packagecom.action;
importjava.util.List;
importjavax.servlet.http.HttpServletRequest;
importorg.apache.struts2.ServletActionContext;
importcom.bean.User;
importcom.biz.UserBiz;
publicclassUserAction{
privateUseruser;
UserBizuserBiz=null;
publicUserBizgetUserBiz(){
returnuserBiz;
}
publicvoidsetUserBiz(UserBizuserBiz){
this.userBiz=userBiz;
}
HttpServletRequestrequest=ServletActionContext.getRequest();
publicStringregister(){
userBiz.register(user);
return"success";
}
publicStringquery(){
Stringuname=request.getParameter("uname");
Listlist=userBiz.queryByName(uname);
request.setAttribute("userlist",list);
return"user";
}
publicUsergetUser(){
returnuser;
}
publicvoidsetUser(Useruser){
this.user=user;
}
}
6.配置applicaitonContext.xml
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans"
xmlns:
xsi="http:
//www.w3.org/2001/XMLSchema-instance"xmlns:
p="http:
//www.springframework.org/schema/p"
xmlns:
tx="http:
//www.springframework.org/schema/tx"xmlns:
aop="http:
//www.springframework.org/schema/aop"
xsi:
schemaLocation="http:
//www.springframework.org/schema/beans
http:
//www.springframework.org/schema/beans/spring-beans-3.0.xsd
http:
//www.springframework.org/schema/tx
http:
//www.springframework.org/schema/tx/spring-tx-3.0.xsd
http:
//www.springframework.org/schema/aop
http:
//www.springframework.org/schema/aop/spring-aop-3.0.xsd">
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
hibernate.cfg.xml">
--配置dao-->
--配置biz-->
--配置声明式事务管理-->
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
adviceid="txAdvice"transaction-manager="txManager">
attributes>
methodname="get*"read-only="true"/>
methodname="find*"read-only="true"/>
methodname="search*"read-only="true"/>
methodname="query*"read-only="true"/>
methodname="add*"propagation="REQUIRED"/>
methodname="del*"propagation="REQUIRED"/>
methodname="update*"propagation="REQUIRED"/>
methodname="do*"propagation="REQUIRED"/>
methodname="insert*"propagation="REQUIRED"/>
methodname="register*"propagation="REQUIRED"/>
methodname="*"propagation="REQUIRED"read-only="true"/>
attributes>
advice>
config>
pointcutid="serviceMethod"expression="execution(*com.biz.*.*(..))"/>
advisoradvice-ref="txAdvice"pointcut-ref="serviceMethod"/>
config>
7.配置struts.xml
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""http:
//struts.apache.org/dtds/struts-2.1.dtd">
--指定使用按type的自动装配策略-->
/success.jsp
/user.jsp
8.布署即可成功
http:
//localhost:
8081/10exam/register.jsp
http:
//localhost:
8081/10exam/user.jsp