`
williamxs
  • 浏览: 4121 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

spring2.5.6+struts2.1.6+jpa+annotation傻瓜教程

阅读更多

中国IT不缺牛人,缺的是我这样无私奉献的普通人

先装个MyEclipse吧 MyEclipse-7.0-win32.exe

涉及版权问题,key自己baidu吧

new一个web project jdk1.5以上(struts2.1之后好象只支持JDK1.5以上版本,懒得baidu了,应该没记错)

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
	xmlns="http://java.sun.com/xml/ns/j2ee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
	http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!-- spring 上下文配置路径 -->
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>classpath:/spring/applicationContext-*.xml</param-value>
  </context-param>
  <!-- spring 上下文监听器 -->
  <listener>
      <listener-class>
          org.springframework.web.context.ContextLoaderListener
      </listener-class>
  </listener>
  <!-- 注意哦,这里不再是hibernate的OpenSessionInViewFilter了 -->
  <filter>
      <filter-name>openEntityManagerInViewFilter</filter-name>
      <filter-class>
          org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter
      </filter-class>
  </filter>
  <filter-mapping>
      <filter-name>openEntityManagerInViewFilter</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- struts 控制器 -->
  <filter>
      <filter-name>struts2</filter-name>
      <filter-class>
          org.apache.struts2.dispatcher.FilterDispatcher
      </filter-class>
  </filter>
  <filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- 强制编码UTF-8 -->
  <filter>
  	<filter-name>characterEncodingFilter</filter-name>
  	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  	<init-param>
  		<param-name>encoding</param-name>
  		<param-value>UTF-8</param-value>
  	</init-param>
  	<init-param>
  		<param-name>forceEncoding</param-name>
  		<param-value>true</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>characterEncodingFilter</filter-name>
  	<url-pattern>*.jsp</url-pattern>
  </filter-mapping>
</web-app>

 

spring配置文件

<?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"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
			http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
			http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.5.xsd
			http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"
	default-autowire="byName">
	<!-- 这里让spring通过annotation自动装配bean -->
	<context:component-scan base-package="*"/> 
	<context:annotation-config />
	<!-- 数据源 -->
	<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
        <property name="username" value="***" />
        <property name="password" value="***" />
    </bean>
    <!-- 值对象annotation -->
	<bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
    <!-- plug in vendor-specific behavior into Spring's EntityManagerFactory creators 翻译过来就是插入特定厂商的信息比如ORACLE-->
	<bean id="jpaVendorAdapter"
        class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
        <property name="database" value="ORACLE" />
        <property name="showSql" value="true" />
    </bean>
    <!-- 实体管理工厂类 -->
    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    </bean>
    <!-- 事务管理类 -->
    <bean id="transactionManager"
        class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
    <!-- 打开事务annotation -->
    <tx:annotation-driven transaction-manager="transactionManager" />
	
</beans>

 在src建个META-INF文件夹,新建persistence.xml文件

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    version="1.0">
    <persistence-unit name="punit">
    </persistence-unit>
</persistence>

 

接下来把jar包扔到WEB-INF/lib下,之所以要先写配置文件后扔jar包,是为了根据启动错误信息一步一步加jar包

链接给大家友情提供了 struts2.1.6    spring2.5.6

先把struts几个包拷出来

xwork-2.1.2.jar

struts2-core-2.1.6.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

commons-fileupload-1.2.1.jar

commons-logging-api-1.1.jar

struts2-convention-plugin-2.1.6.jar

struts2-spring-plugin-2.1.6.jar

接下来是spring

spring.jar

然后是hibernate,不用另外下载hibernate,spring的lib文件夹里就有了,慢慢找,顺便熟悉下结构

hibernate3.jar

hibernate-annotations.jar

hibernate-entitymanager.jar

hibernate-commons-annotations.jar

slf4j-api-1.5.0.jar

slf4j-log4j12-1.5.0.jar

log4j-1.2.15.jar

asm-2.2.3.jar

cglib-nodep-2.1_3.jar

antlr-2.7.6.jar

dom4j-1.6.1.jar

javassist-3.4.GA.jar

persistence.jar

jta.jar

c3p0-0.9.1.2.jar

commons-collections.jar

最后是oracle驱动包,oracle安装目录下jdbc文件夹里有

ojdbc14.jar

配置就此结束

有人要问,为啥没有struts.xml文件呢,呵呵,用annotation做了

BaseAction.java 基类,继承ActionSupport类和Preparable接口

package com.demo.action;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Preparable;

public class BaseAction extends ActionSupport implements Preparable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void prepare() throws Exception {
		// TODO Auto-generated method stub
		
	}

}

 TestAction.java 继承BaseAction

 

package com.demo.action;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;

public class TestAction extends BaseAction {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Action(value = "foo", 
			results = { @Result(name = "success", location = "/pages/welcome.jsp") }
	)
	public String test() {
		return SUCCESS;
	}

}

 

在WebRoot下建个pages文件夹,里面放个welcome.jsp文件,上面的就能看明白了

 

欢迎大家批评!

 

 

 

 

 

5
1
分享到:
评论
5 楼 wolma 2010-03-04  
struts2.1之后,就开始不使用 org.apache.struts2.dispatcher.FilterDispatcher了。官方推荐使用

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

jdk1.6下最好使用ojdbc6.jar 而不是ojdbc14.jar
4 楼 guava 2009-09-15  
你如此强大我很嫉妒
请问public class BaseAction extends ActionSupport implements Preparable
这个Preparable接口有什么用的啊?为什么要继承它?
3 楼 williamxs 2009-04-11  
zxzheaven 写道

请问是在哪里定义sessionFactory?

这里没有用到hibernate,用的是jpa
所有没有sessionFactory,而是entityManagerFactory
2 楼 zxzheaven 2009-04-10  
请问是在哪里定义sessionFactory?
1 楼 andybrier3 2009-03-23  
很无私,赞

相关推荐

    hibernate3.3.2+spring2.5.6+struts2.1.6整合包+anntations

    标题和描述中提到的"hibernate3.3.2+spring2.5.6+struts2.1.6整合包+anntations"是指一个经典的Java Web开发框架集成,通常被称为SSH(Struts2、Spring、Hibernate)框架。这个整合包包含这三个组件的特定版本,用于...

    spring2.5.6+struts2.1.6+hibernate3.3.2+mysql驱动包

    这个集合包含了Spring 2.5.6、Struts2 2.1.6、Hibernate 3.3.2以及适用于MySQL的驱动程序,这些都是构建基于Java的动态Web应用程序的关键组件。 首先,Spring框架是Java企业级应用开发的核心框架,版本2.5.6。...

    SSH2--spring 2.5.6 + struts 2.2.1 + hibernate 3.5.5全部的注解的 M V C

    spring 2.5.6 + struts 2.2.1 + hibernate 3.5.5 内有 AOP 的切面、全部的注解的 M V C 结构,之外还在上网上找了一个同学的学习笔记一起打包,感觉好不错!

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2项目整合

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2是经典的Java Web开发框架组合,常被称为SSH。这三个框架协同工作,为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得企业级应用的开发更加高效和模块化。 Struts...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.2整合包

    Struts2.1.6、Spring2.5.6和Hibernate3.3.2是三个在Java Web开发中广泛使用的开源框架,它们的整合为开发者提供了强大的后端支撑。这个整合包是为了解决企业在构建基于Java的Web应用程序时面临的复杂性问题,通过将...

    spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)

    标题中的"spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)"指的是一个集成开发环境,它包含了三个关键的Java Web框架:Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2。这些框架在Java应用开发中扮演着重要的角色,尤其...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解

    在深入探讨Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解的实现细节之前,我们先回顾一下这三个框架的基本概念及其在JavaEE企业级开发中的作用。 ### Struts2框架 Struts2是一个开源的Web应用框架,它遵循MVC...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发 http://www.cnitblog.com/intrl/archive/2009/04/13/56322.aspx 这篇文章的源码由于他的上传的空间用户可能下载失败,作者相当牛而且具有奉献精神

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合

    ### Struts2.1.6 + Spring2.5.6 + Hibernate3.3.1 整合 在本文中,我们将详细介绍如何将Struts2.1.6、Spring2.5.6以及Hibernate3.3.1进行整合,并构建一个简单的MVC应用。通过这个过程,读者将了解到这三种框架的...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解,涉及的是JavaEE开发中常见的SSH框架(Struts2、Spring、Hibernate)的整合,尤其强调了注解在开发中的应用,旨在简化配置,提高开发效率。SSH框架的组合在...

    Spring2.5.6+struts2.1.8+hibernate3.3.2框架集成

    本项目涉及的是Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2这三大流行Java企业级框架的集成。下面将详细介绍这三个框架及其集成的关键知识点。 首先,Spring框架(2.5.6版本)是一个轻量级的全面应用框架,它提供...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(含JAR包)

    Struts2.1.6、Spring2.5.6和Hibernate3.3.1是Java Web开发中的三个重要框架,合称为SSH(Struts2、Spring、Hibernate)。这个全注解实例详解旨在帮助开发者理解如何在不使用XML配置的情况下,通过注解实现这三大框架...

    Struts2.0.14+Spring2.5.6+Struts.1.3.8+Hibernate3.2

    Struts2.0.14、Spring2.5.6、Struts1.3.8以及Hibernate3.2是四个非常关键的Java Web开发框架,它们在2000年代末到2010年代初广泛应用于企业级应用中。这个压缩包文件包含了这些框架的核心组件,对于学习和理解SSH...

    Struts2.1.6 +Spring2.5.6 + Hibernate3.3.2整合包

    Struts2.1.6、Spring2.5.6和Hibernate3.3.2是Java Web开发中的三个重要框架,它们常被组合使用,形成所谓的"S2SH"集成框架,以实现MVC(模型-视图-控制器)架构,提供企业级应用的高效能和可扩展性。这里我们将详细...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误

    ### Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合常见错误 在使用Struts2.1.6、Spring2.5.6与Hibernate3.3.1进行框架整合时,开发者经常会遇到一些常见的问题。这些问题可能会导致程序无法正常运行或出现异常...

    ssh2(spring2.5.6+struts2.2.3+hibenate3.2)

    在这个特定的例子中,版本分别对应于Spring 2.5.6、Struts2 2.2.3和Hibernate 3.2。下面将详细解释这三个组件以及它们在项目中的作用。 **Spring框架(2.5.6版)**: Spring是一个全面的Java应用框架,提供依赖注入...

    spring2.5.6+hibernate3.3.2+struts2.1.8

    标题 "spring2.5.6+hibernate3.3.2+struts2.1.8" 提供了一个经典的Java Web开发技术栈,这个组合被称为S2SH(Spring、Struts2和Hibernate)。这个版本的集成对于初学者来说是一个很好的起点,因为它包含了三个主要的...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

Global site tag (gtag.js) - Google Analytics