- 浏览: 522297 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
Zhouchenyu:
谢谢
1、junit学习之junit的基本介绍 -
wenjieyatou:
1、junit学习之junit的基本介绍 -
huabengao:
不错 很好
1、junit学习之junit的基本介绍 -
prayjourney:
写的不错,很有启发!
1、junit学习之junit的基本介绍 -
wangzhenyu1260:
assertEqualspublic static void ...
1、junit学习之junit的基本介绍
在本例中用struts1.3+spring2.5+hibernate3.3的annotaion来实现开发。
1、新建一个javaWeb项目。名字为 ssh。
2、在新建的项目中加入spring、struts、hibernate需要的jar包
spring2.5
struts1.3
hibernate3.3
3、在str目录里加下beans.xml配置文件,并对数据库连接池与事务进行配置(事务用注解进行配置).在beans里要加上事务的xml声明。也就是表示事务的头文件。
同时在src下加入jdbc.properties配置文件
4、编写person.java
5、编写personService.java与PersonServiceBean.java类。
PersonService.java接口类
PersonServiceBean.java类
6 加入PersonAction.java
7、在WEB-INF目录下新建一个目录page目录,在page目录下加入jsp页面personlist.jsp
8、WEB-INF目录下的struts-config.xml的配置为:
9、web.xml的配置为
10、在tomcat下布置运行
1、新建一个javaWeb项目。名字为 ssh。
2、在新建的项目中加入spring、struts、hibernate需要的jar包
spring2.5
struts1.3
hibernate3.3
3、在str目录里加下beans.xml配置文件,并对数据库连接池与事务进行配置(事务用注解进行配置).在beans里要加上事务的xml声明。也就是表示事务的头文件。
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="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/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"><!-- spring事务 tx--> <!--自动扫描 --> <context:component-scan base-package="cn.ehoo" /> <context:property-placeholder location="classpath:jdbc.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driverClassName}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- 连接池启动时的初始值 --> <property name="initialSize" value="${initialSize}" /> <!-- 连接池的最大值 --> <property name="maxActive" value="${maxActive}" /> <!-- 最大空闲值.当经过一个高峰时间后,连接池可以慢慢将已经用不到的连接慢慢释放一部分,一直减少到maxIdle为止 --> <property name="maxIdle" value="${maxIdle}" /> <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 --> <property name="minIdle" value="${minIdle}" /> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mappingResources"> <list> <value>cn/ehoo/bean/Person.hbm.xml</value> </list> </property> <property name="hibernateProperties"> <value> hibernate.dialect =org.hibernate.dialect.MySQLDialect hibernate.cache.use_second_level_cache=false hibernate.hbm2ddl.auto=update hibernate.show_sql=false hibernate.format_sql=false </value> </property> </bean> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:annotation-driven transaction-manager="txManager"/> </beans>
同时在src下加入jdbc.properties配置文件
driverClassName=org.gjt.mm.mysql.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 username=root password=123 initialSize=1 maxActive=500 maxIdle=2 minIdle=1
4、编写person.java
package cn.ehoo.bean; /** * @author whp * @Email whp@ehoo.cn * @Jan 4, 2011 * */ public class Person { private Long id; private String name; 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; } }
5、编写personService.java与PersonServiceBean.java类。
PersonService.java接口类
package cn.ehoo.service; import java.util.List; import cn.ehoo.bean.Person; /** * @author whp * @Email whp@ehoo.cn * @Jan 4, 2011 * */ public interface PersonService { /** * 保存 * @param person */ public void save(Person person); /** *更新 * @param person */ public void update(Person person); /** * 获取 * @param person */ public Person getPerson(Long personId); /** * 获取所有 * @param person */ public List<Person> getPersons(); /** * 删除指定记录 * @param person */ public void delete(Long personId) throws Exception; }
PersonServiceBean.java类
package cn.ehoo.service.impl; import java.util.List; import javax.annotation.Resource; import org.hibernate.SessionFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import cn.ehoo.bean.Person; import cn.ehoo.service.PersonService; /** * @author whp * @Email whp@ehoo.cn * @Jan 4, 2011 * */ @Service("personService") @Transactional//代表类需要事务管理 public class PersonServiceBean implements PersonService { @Resource private SessionFactory sessionFactory; public void delete(Long personId) throws Exception { sessionFactory.getCurrentSession().delete(personId); } public Person getPerson(Long personId) { return (Person) sessionFactory.getCurrentSession().get(Person.class, personId); } @SuppressWarnings("unchecked") public List<Person> getPersons() { return (List<Person>) sessionFactory.getCurrentSession().createQuery("from Person o").list(); } public void save(Person person) { sessionFactory.getCurrentSession().save(person); } public void update(Person person) { sessionFactory.getCurrentSession().merge(person); } }
6 加入PersonAction.java
package cn.ehoo.web.acion; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.springframework.stereotype.Controller; import cn.ehoo.service.PersonService; /** * @author whp * @Email whp@ehoo.cn * @Nov 16, 2010 * */ @Controller("/person/list") public class PersonAcion extends Action { @Resource PersonService personService; @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { /*WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(this.getServlet().getServletContext()); PersonService personService = (PersonService) ctx.getBean("personService");*/ request.setAttribute("persons", personService.getPersons()); return mapping.findForward("list"); } }
7、在WEB-INF目录下新建一个目录page目录,在page目录下加入jsp页面personlist.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c"%> <!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>Insert title here</title> </head> <body> <c:forEach items="${persons}" var="person"> ID=${person.id} name=${person.name } </c:forEach> </body> </html>
8、WEB-INF目录下的struts-config.xml的配置为:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <action-mappings> <action path="/person/list" validate="false" > <forward name="list" path="/WEB-INF/page/personlist.jsp" /> </action> </action-mappings> <!-- 注册spring控制器 --> <controller> <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor" /> </controller> </struts-config>
9、web.xml的配置为
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <!-- 对Spring容器进行实例化 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>struts</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>struts</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
10、在tomcat下布置运行
发表评论
-
Spring MVC控制器之SimpleFormController使用
2013-10-31 15:49 3435SimpleFormController已经 ... -
Spring MVC控制器之ParameterizableViewController使用
2013-10-30 15:36 1705这几天在看walker讲的Spring MVC视频教程,在网 ... -
spring 注解Autowired、service、Autowired 的使用
2013-05-30 16:43 6303在spring中可以通过service来把一个业务层的类交 ... -
spring配置文件名字问题
2011-04-27 09:48 15746在做java开发时,如果用到spring,那么在做j2ee开发 ... -
Spring MVC demo
2011-04-26 09:14 160681、新建一web项目 springmvc,并在lib目录中加入 ... -
Struts1.2+Spring2.5+Hibernate3.2 开发时不能用Spring的AOP对继承DispatchAcion的Action里的方法进行拦截
2011-02-12 17:08 1869使用SSH组合开发时,在把所有的Action都交给S ... -
spring+JdbcTemple+dbcp数据源 的xml实现
2011-01-06 11:21 1734在本例中使用spring为我们提供的jdbc的模版来对spri ... -
Spring中注解事务方面的问题
2011-01-06 10:26 3760我们可以在spring的配置 ... -
spring+JdbcTemple+dbcp数据源 的注解实现
2011-01-05 14:01 2184在本例中使用spring为我们提供的jdbc的模版来对spri ... -
SpringXML方式实现AOP demo
2011-01-04 16:09 13331、新建一个java的工程,导入spring需要的jar包与开 ... -
Spring注解方式实现AOP demo
2011-01-04 15:39 64511、新建一个java的工程,导入spring需要的jar包与开 ... -
CGLIB实现代理demo
2011-01-04 11:43 2505在上片文章里说了如何用jdk自带的类Proxy来实现代理,但是 ... -
Proxy实现代理demo
2011-01-04 10:57 1277save、update、insert方法,只有在用户登录后才能 ... -
Spring是轻量级框架还是重量级框架
2010-12-31 09:56 5301主要看使用了多少服务.使用的服务越多.对于spring容器来说 ... -
使用spring的好处
2010-12-31 09:15 1040a. 降低组件之间的耦合度,实现软件各层之间的解耦。如我们的P ... -
Spring Bean 的作用域
2010-12-30 17:52 979在spring中bean一共有5个作用域。 1、single ... -
Spring 注解 方式配制的小demo
2010-12-30 17:24 14211、新建一个Web程序 在程序中引入Spring所需要的 ... -
Spring xml 方式配制的小demo
2010-12-30 17:19 10751、新建一个Web程序 在程序中引入Spring所需要的 ...
相关推荐
Struts2.1、Spring 2.5 和 Hibernate 3.2 是经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用。这个详细例子将深入探讨如何使用这三个框架协同工作,实现数据库的增(Add)、删(Delete)、改(Modify...
Struts2.18、Spring2.5和Hibernate3.3是Java开发中经典的开源框架组合,被广泛用于构建企业级的电子商务网站。这个“基于Struts2.18+Spring2.5+Hibernate3.3+Annotation注解开发的电子商务网站demo”是一个很好的...
整合S2SH+Freemarker,后台用Spring管理各个bean,Hibernate做数据库持久化,viewer用Freemarker。整合中对Struts2,Hibernate,Spring都采用Annotation进行注解类。
总之,"Struts2+Spring2.5+Hibernate3+annotation"的整合是Java Web开发中的经典组合,利用注解可以显著提升开发体验,减少配置文件的复杂性,使得项目结构更加清晰。如果你希望深入了解Java Web开发或者优化现有...
超级详细的SSH2项目实例详解,并且附带两个项目详解。两种注解实现方式。...在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过二个实例,详细的为大家讲解如何实现全注解式的开发。
Struts1.3、Hibernate3.3和Spring3.0是经典的Java企业级开发框架,它们的整合在早期Web应用开发中非常常见。这三种框架的结合提供了模型-视图-控制器(MVC)架构、对象关系映射(ORM)以及依赖注入(DI)和面向切面...
整合S2SH+Freemarker+oscache,后台用Spring管理各个bean,Hibernate做数据库持久化,viewer用Freemarker。整合中对Struts2,Hibernate,Spring都采用Annotation进行注解类。
【基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发】 这篇文档主要介绍了一个使用注解(Annotation)进行Struts2.0、Hibernate3.3和Spring2.5整合开发的教程。这种集成方式相比传统的XML配置,可以简化...
Struts2、Spring2.5和Hibernate3.2是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。这个"sshTest"项目是一个使用这三个框架的注解配置的完整Eclipse工程,同时也包含了数据库脚本,...
在搭建一个基于Java8 + Tomcat8 + Struts2.5 + Spring4.3 + Hibernate5.2 的项目前,首先需要对开发环境进行配置。 **1. Java8**: 作为项目的运行基础环境,确保已安装Java8,并正确设置JAVA_HOME等环境变量。 **2....
标题中的“基于Annotation的Struts2.0+Hibernate3.3+Spring2.5整合开发”指的是使用注解的方式将三个流行的Java企业级框架——Struts2、Hibernate和Spring进行集成开发。这样的集成有助于简化配置,提高代码的可读性...
本文档主要介绍了如何在MyEclipse 8.6环境中搭建一个基于Struts2.1、Spring3.0和Hibernate3.3的Java Web应用开发环境。以下是各个部分的详细说明: 1. 创建Web Project项目 在MyEclipse中创建Web Project是开始...