您的位置:首页 > 编程语言 > Java开发

Struts2.3.8 Spring3.2.0 Hibernate3.6.10整合

2013-02-21 18:20 309 查看
1. 项目结构图





2. 需要的jar包

Struts的:

asm-3.3.jar

asm-commons-3.3.jar

commons-logging-1.1.1.jar

commons-lang3-3.1.jar

commons-io-2.0.1.jar

commons-fileupload-1.2.2.jar

freemarker-2.3.19.jar

ognl-3.0.6.jar

struts2-core-2.3.8.jar

struts2-spring-plugin-2.3.8.jar

xwork-core-2.3.8.jar

spring的:

spring-aop-3.2.0.RC2.jar

spring-aspects-3.2.0.RC2.jar

spring-beans-3.2.0.RC2.jar

spring-context-3.2.0.RC2.jar

spring-context-support-3.2.0.RC2.jar

spring-core-3.2.0.RC2.jar

spring-expression-3.2.0.RC2.jar

spring-instrument-3.2.0.RC2.jar

spring-instrument-tomcat-3.2.0.RC2.jar

spring-jdbc-3.2.0.RC2.jar

spring-jms-3.2.0.RC2.jar

spring-orm-3.2.0.RC2.jar

spring-oxm-3.2.0.RC2.jar

spring-struts-3.2.0.RC2.jar

spring-test-3.2.0.RC2.jar

spring-tx-3.2.0.RC2.jar

spring-web-3.2.0.RC2.jar

spring-webmvc-3.2.0.RC2.jar

spring-webmvc-portlet-3.2.0.RC2.jar

Hibernate:

antlr-2.7.6.jar

c3p0-0.9.1.jar

commons-collections-3.1.jar

dom4j-1.6.1.jar

hibernate3.jar

hibernate-jpa-2.0-api-1.0.1.Final.jar

javassist-3.12.0.GA.jar

jta-1.1.jar

proxool-0.8.3.jar

slf4j-api-1.6.1.jar

MySQL的:

mysql-connector-java-5.1.22-bin.jar

3. web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>fys</display-name>

<!-- 加载Spring的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<!-- 加载spring的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

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

<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

4. 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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> 
<!-- 定义数据源 ,使用c3p0数据源实现 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/fys"></property>
<property name="user" value="root"></property>
<property name="password" value="123456"></property>
</bean>

<!-- Hibernate sessionFactory创建 -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<!-- Hibernate属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
<!-- 映射文件 -->
<property name="mappingResources">
<list>
<value>com/ryan/entity/vo/User.hbm.xml</value>
</list>
</property>
</bean>

<bean id="userDao" class="com.ryan.spring.dao.userimpl.UserDaoImpl" scope="singleton">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

<bean id="registerAction" class="com.ryan.actions.RegisterAction" scope="prototype">
<property name="ud" ref="userDao"></property>
</bean>
</beans>

5. struts.xml的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<constant name="devMode" value="true"></constant>
<constant name="struts.objectFactory" value="spring"></constant>

<package name="default" namespace="/" extends="struts-default">
<action name="register" class="registerAction">
<result name="success">/success.jsp</result>
</action>
</package>
</struts>

6. RegisterAction.java

package com.ryan.actions;

import com.opensymphony.xwork2.ActionSupport;
import com.ryan.entity.vo.User;
import com.ryan.interfaces.UserDao;

public class RegisterAction extends ActionSupport {
private String name;
private String password;
private UserDao ud;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public UserDao getUd() {
return ud;
}

public void setUd(UserDao ud) {
this.ud = ud;
}

@Override
public String execute() throws Exception {
User user = new User();
user.setName(name);
user.setPassword(password);
ud.addUser(user);
return SUCCESS;
}
}

[/code]
7. User.java

package com.ryan.entity.vo;

public class User {
private Long id;
private String name;
private String password;

public User() {
super();
}

public User(Long id, String uname, String upass) {
super();
this.id = id;
this.name = uname;
this.password = upass;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

}

8. User.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-mapping  PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.ryan.entity.vo.User" table="user">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="name"></property>
<property name="password"></property>
</class>
</hibernate-mapping>

9. UserDao.java

package com.ryan.interfaces;

import com.ryan.entity.vo.User;

public interface UserDao {
public Long addUser(User user);
}

10. UserDaoImpl.java

package com.ryan.spring.dao.userimpl;

import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;

import com.ryan.entity.vo.User;
import com.ryan.interfaces.UserDao;

public class UserDaoImpl implements UserDao {

private HibernateTemplate ht = null;
private SessionFactory sessionFactory;

public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}

public SessionFactory getSessionFactory() {
return sessionFactory;
}

public HibernateTemplate getHibernateTemplate() {
if (ht == null) {
ht = new HibernateTemplate(sessionFactory);
}
return ht;
}

@Override
public Long addUser(User user) {
return (Long) getHibernateTemplate().save(user);
}
}

11. index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>User Register</title>
</head>
<body>
<form action="register" method="post">
Account:<input type="text" name="uname"/>
Password:<input type="password" name="upass"/>
<input type="submit" value="Register"/>
</form>
</body>
</html>

12. success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title>
</head>
<body>
Register Successfully!
</body>
</html>


****
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: