java教程|Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合教程并测试成功一.创建项目二.搭建struts-2.3.4.11.struts2必须的Jar包(放到WEB-INF/...
 

Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合教程并测试成功

一. 创建项目

二. 搭建struts-2.3.4.1

1.struts2必须的Jar包(放到WEB-INF/lib目录下):

2.配置struts2.3的过滤器

web.xml位置

web.xml内容

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="3.0"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_3_0.xsd">

<display-name></display-name>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<!-- struts2拦截器 -->

<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>

</web-app>

3.配置struts.xml(struts.xml在src目录下)

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEstrutsPUBLIC

"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"

"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>

<packagename="struts2"extends="struts-default">

<actionname="TestAction"class="com.xinvalue.action.TestAction">

<resultname="success">/test.jsp</result>

</action>

</package>

</struts>

4.测试struts2配置

新建一个TestAction

package com.xinvalue.action;

import com.opensymphony.xwork2.ActionSupport;

publicclass TestAction extends ActionSupport {

@Override

public String execute() throws Exception {

returnsuper.execute();

}

}

新建一个测试页面

成功界面

至此,struts2集成完毕!

二.整合Spring 3.2.3和Struts-2.3.4.1

1.必须的jar包

在配置好的struts的jar包的基础上,添加额外Struts jar包:struts2-spring-plugin-2.3.4.1.jar

commons-logging-1.1.1.jar

Spring的jar包:

2.web.xml配置

<?xmlversion="1.0"encoding="UTF-8"?>

<web-appversion="3.0"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_3_0.xsd">

<display-name></display-name>

<welcome-file-list>

<welcome-file>index.jsp</welcome-file>

</welcome-file-list>

<!-- struts2拦截器 -->

<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>

<!-- 创建spring工厂监听器 -->

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- 告知spring context config location 的存储位置 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/classes/applicationContext.xml</param-value>

</context-param>

</web-app>

3.spring的applicationContext.xml配置

applicationContext.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://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:context="http://www.springframework.org/schema/context"

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

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

</beans>

三.整合Hibernate4.1.9

1.必需jar包

添加Hibernate jar文件

Hibernate压缩包中的

lib/required/

Spring中的jar文件

数据库连接池支持文件

以及连接mysql的jar

mysql-connector-java-5.1.22-bin.jar

2.配置文件applicationContext.xml

<?xmlversion="1.0"encoding="UTF-8"?>

<beansxmlns="http://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:context="http://www.springframework.org/schema/context"

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

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<!-- 数据库连接 -->

<beanid="dataSource"class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<propertyname="driverClassName">

<value>com.mysql.jdbc.Driver</value>

</property>

<propertyname="url">

<value>jdbc:mysql://localhost:3306/ssh2?characterEncoding=utf8</value>

</property>

<propertyname="username">

<value>root</value>

</property>

<propertyname="password">

<value></value>

</property>

</bean>

<!--Hibernate的Spring配置 -->

<beanid="sessionFactory"

class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

<!-- 数据库连接 -->

<propertyname="dataSource">

<reflocal="dataSource"/>

</property>

<!-- hibernate自身属性 -->

<propertyname="hibernateProperties">

<props>

<propkey="hibernate.show_sql">true</prop>

<propkey="hibernate.format_sql">true</prop>

<propkey="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>

<!-- 解决no session found -->

<propkey="hibernate.current_session_context_class">thread</prop>

</props>

</property>

<!-- 映射文件 -->

<propertyname="annotatedClasses">

<list>

<value>com.xinvalue.bean.User</value>

</list>

</property>

</bean>

<!-- 用户Dao -->

<beanid="userDao"class="com.xinvalue.dao.impl.UserDaoImpl"

scope="singleton">

<propertyname="sessionFactory">

<reflocal="sessionFactory"/>

</property>

</bean>

<!-- 用户Service -->

<beanid="userService"class="com.xinvalue.service.impl.UserServiceImpl"

scope="singleton">

<propertyname="userDao">

<reflocal="userDao"/>

</property>

</bean>

<!-- 用户Action -->

<beanid="saveUserAction"class="com.xinvalue.action.SaveUserAction"

scope="prototype">

<propertyname="userService">

<reflocal="userService"/>

</property>

</bean>

</beans>

创建测试数据库:

CREATE DATABASE `ssh2` ;
     
USE `ssh2`;
     
DROP TABLE IF EXISTS `users`;
     
CREATE TABLE `users` (
     
  `userid`int(11)NOT NULL AUTO_INCREMENT,
     
  `username`varchar(20)DEFAULT NULL,
     
  `userpwd`varchar(20)DEFAULT NULL,
     
  PRIMARY KEY (`userid`)
     
) ENGINE=InnoDB AUTO_INCREMENT=2DEFAULT CHARSET=utf8 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC;
     
insert  into `users`(`userid`,`username`,`userpwd`)values (1,'terwer','123456');
 

创建bean

User.java

package com.xinvalue.bean;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

@Entity

@Table(name = "users")

publicclass User {

@Id

privateintuserId;

@Column(name = "username")

private String username;

@Column(name = "userpwd")

private String userpwd;

publicint getUserId() {

returnuserId;

}

publicvoid setUserId(int userId) {

this.userId = userId;

}

public String getUsername() {

returnusername;

}

publicvoid setUsername(String username) {

this.username = username;

}

public String getUserpwd() {

returnuserpwd;

}

publicvoid setUserpwd(String userpwd) {

this.userpwd = userpwd;

}

}

创建dao

UserDao.java

package com.xinvalue.dao;

import java.util.List;

import com.xinvalue.bean.User;

publicinterface UserDao {

public List<User> queryAllUsers();

boolean saveUser(User user);

}

UserDaoImpl.java

package com.xinvalue.dao.impl;

import java.util.List;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import com.xinvalue.bean.User;

import com.xinvalue.dao.UserDao;

publicclass UserDaoImpl implements UserDao {

private SessionFactory sessionFactory;

public SessionFactory getSessionFactory() {

returnsessionFactory;

}

publicvoid setSessionFactory(SessionFactory sessionFactory) {

this.sessionFactory = sessionFactory;

}

@Override

public List<User> queryAllUsers() {

// TODO Auto-generated method stub

returnnull;

}

@Override

publicboolean saveUser(User user) {

Session session = sessionFactory.getCurrentSession();

Transaction tx = session.beginTransaction();

try {

session.save(user);

tx.commit();

returntrue;

} catch (Exception e) {

if (e != null) {

tx.rollback();

}

}

returnfalse;

}

}

创建Service

UserService.java

package com.xinvalue.service;

import java.util.List;

import com.xinvalue.bean.User;

publicinterfaceUserService {

public List<User> queryAllUsers();

boolean saveUser(User user);

}

UserServiceImpl.java

package com.xinvalue.service.impl;

import java.util.List;

import com.xinvalue.bean.User;

import com.xinvalue.dao.UserDao;

import com.xinvalue.service.UserService;

publicclass UserServiceImpl implements UserService {

private UserDao userDao;

public UserDao getUserDao() {

returnuserDao;

}

publicvoid setUserDao(UserDao userDao) {

this.userDao = userDao;

}

@Override

public List<User> queryAllUsers() {

returnuserDao.queryAllUsers();

}

@Override

publicboolean saveUser(User user) {

returnuserDao.saveUser(user);

}

}

创建Action

SaveUserAction.java

package com.xinvalue.action;

import com.opensymphony.xwork2.ActionSupport;

import com.xinvalue.bean.User;

import com.xinvalue.service.UserService;

publicclass SaveUserAction extends ActionSupport {

privateUserServiceuserService;

private String username;

private String userpwd;

public UserService getUserService() {

returnuserService;

}

publicvoid setUserService(UserService userService) {

this.userService = userService;

}

public String getUsername() {

returnusername;

}

publicvoid setUsername(String username) {

this.username = username;

}

public String getUserpwd() {

returnuserpwd;

}

publicvoid setUserpwd(String userpwd) {

this.userpwd = userpwd;

}

@Override

public String execute() throws Exception {

User user = new User();

user.setUsername(this.getUsername());

user.setUserpwd(this.getUserpwd());

boolean status=userService.saveUser(user);

System.out.println(status);

returnSUCCESS;

}

}

创建测试页面:

]

<body>

<s:formaction="SaveUserAction.action">

<s:textfieldname="username"label="用户名"/>

<s:passwordname="userpwd"label="密码"/>

<s:submitlabel="注册"/>

</s:form>

</body>

成功界面:

至此,全部整合完毕!所有jar包下载

转载注明本文地址: http://www.ablanxue.com/prone_9855_1.html

Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合的更多相关文章

  1. Struts2.3.4.1 + Spring3.1.2 + Hibernate4.1.6整合

    1. Jar包 2. web.xml配置 3. struts.xml配置 4. hibernate.cfg.xml配置 5. applicationContext.xml配置 6. log4j.pro ...

  2. 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序

    基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序 不知道为什么,保存的时候显示有一个连接为违禁内容,可能是…………. ...

  3. SpringMVC + spring3.1.1 + hibernate4.1.0 集成及常见问题总结

    下载地址: http://pan.baidu.com/s/1qWDinyk 一 开发环境 1.动态web工程 2.部分依赖 hibernate-release-4.1.0.Final.zip hibe ...

  4. Struts2+Hibernate4+Spring4框架整合搭建Java项目原型

    收藏 http://www.cnblogs.com/mageguoshi/p/5850956.html Struts2+Hibernate4+Spring4框架整合搭建Java项目原型

  5. springmvc+spring3+hibernate4框架简单整合,简单实现增删改查功能

    转自:https://blog.csdn.net/thinkingcao/article/details/52472252 C 所用到的jar包     数据库表 数据库表就不用教大家了,一张表,很简 ...

  6. Spring3系列4-多个配置文件的整合

    Spring3系列4-多个配置文件的整合 在大型的Spring3项目中,所有的Bean配置在一个配置文件中不易管理,也不利于团队开发,通常在开发过程中,我们会按照功能模块的不同,或者开发人员的不同,将 ...

  7. SSH:Struts2.2+Hibernate3.6+Spring3.1分页示例[转]

    参考资料 1 ssh分页(多个例子) http://useryouyou.iteye.com/blog/593954 2 ssh2分页例子 http://459104018-qq-com.iteye. ...

  8. JSP和Struts2、Hibernate、Spring3基础内容和原理

    一.JSP工作原理 1.首先是利用客户端浏览器,然后由客户端浏览器请求JSP页面,向JSP服务器发出请求. 2.JSP服务器内部原理 JSP服务器首先在收到客户端传送过来的请求后,将JSP页面编译成S ...

  9. Spring3.1.2与Hibernate4.1.8整合

    整合Spring3.1.2 与 Hibernate 4.1.8 首先准备整合jar: Spring3.1.2: org.springframework.aop-3.1.2.RELEASE.jar or ...

随机推荐

  1. NopCommerce 关于Customer的会员类别及会员价处理 的尝试途径

    示例效果: 当Customer是某个会员级别或内部员工时, 购物结算时享受一定的折扣: 相关设定如下: Step1.新增会员类别    Admin - Customers - Customer rol ...

  2. MMORGP大型游戏设计与开发(客户端架构 part13 of vegine)

    一些数据是需要不断改动的,程序不可能因为这些改动而不厌其烦的去改动代码,早期的这种做法就成了程序员们最悲哀的痛苦.自从有了数据管理后,程序的世界逐渐清晰,这些烦恼也不再出现,不过若是要很好的管理数据可 ...

  3. namesilo域名注册教程

    一.注册账号 打开http://www.namesilo.com ,我们先去注册一个Namesilo帐号,然后再在Namesilo注册域名!如图: 接下来,就是填写一些简单资料,如图: 然后Names ...

  4. android代码优化----ListView中自定义adapter的封装(ListView的模板写法)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. BZOJ2118墨墨的等式[数论 最短路建模]

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1317  Solved: 504[Submit][Status][Discus ...

  6. javascript中比较数字大小

    做项目,遇到一个让人非常纠结的问题,就是获取的两个值比较,却出现了一位数比二位数大的情况.刚开始还以为哪里写错了,检查了几遍,用ie调了下,意识到是应该是用错了比较方法了.才想起以前也碰到过这种情况的 ...

  7. Java集合系列:-----------02Collection架构

    出处:http://www.cnblogs.com/skywang12345/p/3308513.html 我们知道Collection是和Map架构平级的,我们看一下这个架构是怎样的. 他主要的两个 ...

  8. 031医疗项目-模块三:药品供应商目录模块——供货商药品目录查询功能----------sql补充知识

    这个补充知识有一个点很有必要,视屏上的老师提出一点: 内链接关联查询: 如果表A和表B有一个外键关联 ,可以通过外键进行内链接查询 select dictinfo.*, dicttype.typena ...

  9. WPF 4.0 DatePicker 快速录入

    WPF 4.0的DatePicker在通过键盘录入日期的时候是非常让人郁闷的.必须按照日期的格式来完整输入例如,比如输入“2010/10/10”才能识别.而实际上在一些要求快速录入的场合,用户更希望直 ...

  10. 清北学堂2017NOIP冬令营入学测试P4747 D’s problem(d)

    时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题 描述 题目描述 小D是一名魔法师,它最喜欢干的事就是对批判记者了. 这次记者招待会上,记者对 ...