开发环境:MyEclipse8.5+Mysql
说明:本实例是简单注册程序(只有两个属性)
数据库脚本:user.sql
CREATE TABLE `user` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
开发步骤:
一
1建立Web项目
选择: Java EE 5.0
2添加Struts支持(项目右键MyEclipse Struts Capabilities …)
选择:
1)Struts specification: Struts 1.2
2)Base package for 那位classes:com.beyondsoft.s1sh
3添加Spring支持(项目右键MyEclipse Spring Capabilities …)
选择:
1) Spring version:Spring 2.5
2) Select the libraries to add the buildpath:
Spring 2.5 AOP Libraries
Spring 2.5 Core Libraries
Spring 2.5 Persistence Core Libraries
Spring 2.5 Persistence JDBC Libraries
Spring 2.5 Web Libraries
3) JAR Library Installation:
Copy checked Library contents to project folder (TLDs always copied)
Next
4) Spring配置文件选择目录Folder:WebRoot/WEB-INF
Finish
4 添加Hibernate支持(项目右键MyEclipse Hibernate Capabilities …)
选择:
1)Hibernate Specification:Hibernate3.2
2)Select the libraries to ad to the buildpath:Hibernate 3.2 Core Libraries和Hibernage 3.2 Annoations
3)JAR Library Installation:Copy checked Library Jars to project folder and add to build-path
Next
4)选择:Spring configuration file(applicationContext.xml) Next
5)选择:Existing Spring configuration file
SessionFactory Id: sessionFactory Next
6)Bean Id:dataSource
DB Driver:选择配置好的Hibernate。Next
7)不建立SessionFactory(不选择Create SessionFactory class?)
8)Finish。
二 数据库方面
Hibernate反向工程:
1).准备数据库,假如名为s1sh,里面有一个User的表
2).在MyEclipse的右上角切换透视图,切换到MyEclipse Database Explorer
3).然后在最左边点击右键,选择New(也就是说新建一个数据库连接,Driver Name叫s1sh,方便下面解释,其它的跟平常用的一样),,配置好连接以后点击Next,进入下一个窗体, 选择第三个单选按钮(Display the selected Schemas),然后点击右边的Add按钮,也就是说添加你的数据库,然后点击完成按钮,这样你的数据库连接就创建好了;
在你刚才创建的s1sh上右键,选择Open connection, 一直展开到s1sh下面的TABLE,展开TABLE,在我们创建的User表上点击右键,选择Hibernate Reverse Engineering(这个就是反向生成),出来一个面板 在Java src folder 选择这个工程的src目录,然后在Java Package上选择刚才我们在工程里面创建好的bean包,接下来就是勾中前三个复选框就可以了,点击Next,又会出现一个面板,这个面板可以不用管,然后点击Next,这个面板也不用管,点击Finish,然后就会生成实体类和映射文件了。
三 建立JSP 页面,Action类
1) 打开struts-config.xml配置文件:右键new Form,Action and JSP
2) User case:register
Form Impl:New FormBean
Properties:username password
JSP:选择Create JSP form Next
3) Action 默认就可以了 Finish
4) 配置struts-config.xml文件,将Struts交给Spring管理
a) 加入插件 (message-resources标记下)
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
b) 将Action类移交(message-resources标记上)
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
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 />
<form-beans>
<form-bean name="registerForm" type="com.beyondsoft.bean.RegisterForm">
<form-property name="id" type="java.lang.Integer" />
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action attribute="registerForm" input="/form/register.jsp"
name="registerForm" path="/register" scope="request"
type="com.beyondsoft.s1sh.action.RegisterAction">
<forward name="success" path="/form/main.jsp" />
</action>
<!--
<action input="/form/register.jsp" name="registerForm"
path="/register" scope="request"
type="com.beyondsoft.s1sh.action.RegisterAction"> <forward
name="success" path="/form/main.jsp" /> </action>
-->
</action-mappings>
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" />
<message-resources parameter="com.beyondsoft.s1sh.ApplicationResources" />
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml" />
</plug-in>
</struts-config>
5) register.jsp页面(WebRoot/form/register.jsp)
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html>
<head>
<title>JSP for DynaActionForm form</title>
</head>
<body>
<html:form action="/register">
username : <html:text property="username"/><html:errors property="username"/><br/>
password : <html:text property="password"/><html:errors property="password"/><br/>
<html:submit value="注册"/> <html:reset value="重置"/>
</html:form>
</body>
</html>
6.在applicationContext.xml里面加入
<bean name="/register" class="com.beyondsoft.s1sh.action.RegisterAction">
<property name="userDAO">
<ref bean="userDAO" />
</property>
</bean>
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" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/s1sh"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/beyondsoft/bean/User.hbm.xml</value>
</list>
</property>
</bean>
<bean id="userDAO" class="com.beyondsoft.bean.UserDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean name="/register" class="com.beyondsoft.s1sh.action.RegisterAction">
<property name="userDAO">
<ref bean="userDAO" />
</property>
</bean>
</beans>
7.在RegisterAction类里面加一个属性userDAO;并实现set和get方法。
再加入
userDAO.save(new User(registerForm.getUsername(),registerForm.getPassword()));
return mapping.findForward("success");
在运行即可。
但是由于Myeclipse的问题会出现org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
它是由于在使用Spring的AOP编程时,会用到这几个lib:
asm-2.2.3.jar
asm-commons-2.2.3.jar
asm-util-2.2.3.jar
Hibernate使用如果lib:
asm.jar
asm-attrs.jar
其中asm-2.2.3.jar与asm.jar存在类上的冲突!
使用其中之一或两者都使用,可能会出现如下错误:
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
java.lang.NoClassDefFoundError: org/objectweb/asm/commons/EmptyVisitor
java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit。。。。。。
所以我们只要去除类路径上的关于Hibernate的3个lib
asm.jar
asm-attrs.jar
cglib-2.1.3.jar 即可运行成功。
这是一个最简单的Strut1.2+Spring2.6+Hibernate3.2整合的一个小实例。如果你要实现更多的功能可以在这个的基础上面再加。
分享到:
相关推荐
Strut2+Spring2.5+Hibernate3.2增删改查小例子,刚学时,在网上找的资料讲的不是很清楚,不适合初学者,现在这个例子适合初学者,希望初学者能更快上手.用的Oracle数据库,内有框架搭架方法
Struts2+Spring2.5+Hibernate3.2集成实例开发2 Struts2+Spring2.5+Hibernate3.2集成实例开发2
Strut+Spring+Hibernate框架的工作原理 Strut+Spring+Hibernate框架是当前流行的Java EE框架,它们之间的结合使用可以提供一个完整的企业级应用程序解决方案。下面我们将详细介绍Strut、Spring和Hibernate框架的...
SSH整合是Java Web开发中的一种常见模式,它结合了Spring、Struts2和Hibernate三个开源框架,以构建高效、模块化的应用程序。以下是关于这个整合的详细知识点: 1. **Spring框架**:Spring是一个全面的Java企业级...
在这个"Strut2+Hibernate+Spring项目整合实例"中,我们将深入探讨这三个框架如何协同工作,创建一个高效、灵活的Java Web应用。 首先,Struts2作为前端控制器,负责接收用户的请求,解析请求参数,并根据配置的...
SSH整合是Java开发中常见的三大框架——Spring、Struts和Hibernate的集成,它们共同构建了企业级应用的模型-视图-控制器(MVC)架构。这个整合涉及到多个jar包,用于提供各种功能,如依赖注入、事务管理、持久化处理...
总的来说,这个"Strut+Spring+Hibernate注册登录系统"是一个典型的Java Web开发实践案例,涵盖了用户管理的核心功能和常见的框架整合使用,对于学习和理解SSH框架以及Web应用程序设计有很好的参考价值。开发者可以...
综上所述,构建Strut2+Spring3+Hibernate4的环境涉及多个步骤和组件,通过合理的配置和整合,可以构建出高效、可维护的Java Web应用。在实践中,不断学习和优化这些框架的使用技巧,能够提高开发效率和软件质量。
spring3.2+strut2+hibernate4 注解方式。 spring.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
Struts2+Spring2.5+Hibernate3.2集成实例开发 附带我本人写的一个实例,如果默认数据库Oracle10g ,可以根据实际情况调整;文件较大,分为两个部分下载,同时下在完成后,执行Struts2+Spring+Hibernate.part1.rar...
这个名为"SS2HTEST"的压缩包文件,很可能包含了一个完整的Web项目,演示了如何将Struts2、Spring和Hibernate整合,并与SQL Server 2005数据库协同工作,实现一个基本的登录功能。以下是对这些技术的详细解释: 1. *...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
这个"strut2+hibernate3+spring3整合jar包.rar"文件包含了这些框架的特定版本,以及MySQL驱动和Log4j日志库,为开发者提供了一个快速搭建Java Web应用的基础环境。 **Struts2** 是一个MVC(Model-View-Controller)...
strut2+hibernate+spring+extjs3.0+excel 动态加载grid 数据导出excel,导入excel datasource自己修改你自己的数据源,数据库中的表可见实体类创建,或者自己修改实体类
标题“spring+strut2+hibernate整合”所涉及的是一个经典的Java Web开发中的集成框架,这通常是为了构建高效、灵活的企业级应用程序。在这个整合中,Spring作为基础的依赖注入(DI)容器,Struts2作为表现层框架,而...
在本“strut2+spring2未整合,初步demo”项目中,我们将探讨这两个框架如何初步协作,尽管它们还没有被完全整合。 首先,Struts2的核心在于Action类,它是处理用户请求并调用业务逻辑的主要组件。在Struts2中,我们...
Struts、Spring 和 Hibernate 是Java Web开发中的三大框架,它们的组合被称为SSH(Struts + Spring + Hibernate)集成框架。这个实例是针对初学者设计的,通过MyEclipse 6.0开发环境来演示如何将这三个框架整合在...
包含SQLServer的数据库文件,直接...Struts2与Spring的整合,使用Apache的POI框架导出Excel等功能会让你愉悦一下的。看不惯有些人很烂的代码收上八九分的,两分是为了自己挣点分下资源,下过觉得不亏的给好评哦,亲~
"Struts2+Spring+Ibatis+MySQL" 是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用程序。这个组合集成了强大的MVC(Model-View-Controller)框架Struts2、依赖注入与面向切面编程的Spring框架、...