这个简单的应用是入门级别的 ,方便大家入门
1,类似与springside(
http://www.springside.org.cn/)中的例子helloworld具有的功能,
2,没有了springside中的将网页中的表单输出xls中的功能,
3,将那个helloworld例子中的分页功能简单化了
4,增加了添加用户或修改用户时的,javaMail通知的功能,
5,还有原来的对数据的增删改查
tomcat6.0作为服务器,mysql作为数据库
包结构:
com.hello.model 存放应用的pojo类
com.hello.dao,com.hello.dao.impl 数据层,使用hibernate封装
com.hello.service,com.hello.service.impl 业务逻辑层,将页面表现同数据分离
com.hello.web 存放分页的类和资源文件
com.hello.web.action 表现层,存放struts的action文件
基本配置:
数据库文件,数据库中的数据自己添加
helloworld.sql
create database helloworld;
use helloworld;
create table `helloworld`.`user`(
`id` int unsigned not null auto_increment,
`name` varchar(45) default '' not null,
`email` varchar(45),
`descn` varchar(45),
primary key (`id`)
);
web.xml
注意过滤器的字符设置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 对表单传递的数据强制转换 -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<!-- 设置的是gbk,因为我的mysql数据库的字符设置是gbk,
最好同你的数据库的字符设置相同,否则容易乱码-->
<init-param>
<param-name>encoding</param-name>
<param-value>gbk</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 配置spring文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- 配置struts文件 -->
<servlet>
<servlet-name>action</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>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
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: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.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/helloworld">
</property>
<property name="username" value="root"></property>
<property name="password" value="123456"></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/hello/model/User.hbm.xml</value>
</list>
</property>
</bean>
<bean id="mailSender"
class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.163.com" />
<property name="port" value="25" />
<property name="username" value="你的用户名" />
<property name="password" value="你的密码" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.timeout">25000</prop>
</props>
</property>
</bean>
<!-- 配置事务管理 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="userDAO" class="com.hello.dao.impl.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="mailAdvice" class="com.hello.service.impl.SendMail">
<property name="mailSender" ref="mailSender"></property>
</bean>
<!-- aop代理对象包含advisor和advice的拦截链,advice表示对方法的增强(切面)
而pointcut表示一个切入点 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="List" read-only="true" />
<tx:method name="*" />
</tx:attributes>
</tx:advice>
<!-- advisor 必须的有一个advice增强+一个切入点,才能实现增强方法的功能-->
<aop:config>
<!-- 增强事务功能 -->
<aop:advisor
pointcut="execution(* com.hello.service.UserService.*(..))"
advice-ref="txAdvice" />
<!--添加或修改用户时发送email -->
<aop:advisor
pointcut="execution(* com.hello.service.UserService.save(*..User))"
advice-ref="mailAdvice" />
</aop:config>
<bean id="userService"
class="com.hello.service.impl.UserServiceImpl">
<property name="userDAO" ref="userDAO"></property>
</bean>
</beans>
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>
<form-beans>
<form-bean name="userForm"
type="org.apache.struts.validator.LazyValidatorForm" />
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings>
<action attribute="userForm" input="/index.jsp" name="userForm"
validate="false" path="/user" parameter="method" scope="request">
<forward name="list" path="/pages/list.jsp" />
<forward name="edit" path="/pages/edit.jsp" />
</action>
</action-mappings>
<!-- 由spring代理页面的跳转 -->
<controller>
<set-property property="processorClass"
value="org.springframework.web.struts.DelegatingRequestProcessor" />
</controller>
<message-resources
parameter="com.hello.web.struts.ApplicationResources" />
<!-- spring 代理action的插件 -->
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/action-servlet.xml" />
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml" />
</plug-in>
</struts-config>
action-servlet.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-2.0.xsd">
<bean name="/user" class="com.hello.web.action.UserAction">
<property name="userService" ref="userService"></property>
</bean>
</beans>
源代码文件:
前面没有添加jta.jar,出现java.lang.NoClassDefFoundError: javax/transaction/TransactionManager。现已改正,在tomcat5.5上还暂时未通过
http://cid-741baba43d6d4c42.skydrive.live.com/self.aspx/Public/helloworld2.7z
分享到:
相关推荐
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3 SSH
Struts1.2+Struts2.1.6+spring 2.0+hibernate3.1+Ibatis2.3内个框架的集成
Struts1.2、Spring2.0和Hibernate3.1是经典的Java企业级开发框架组合,它们在2000年代中期至后期广泛应用于构建基于Java的Web应用程序。这个组合通常被称为“SSH”三位一体,各自负责不同的职责: 1. **Struts1.2**...
开发环境:Windows XP sp3、SQL Server 2005、JDK 1.6、Struts2.1.6、Spring 2.0、Hibernate3.1、MyEclipse 5.5、Tomcat 6.0 使用步骤: 1、下载解压之后,使用IDE导入工程 2、把工程中的“演示数据脚本.sql”导入到...
### Struts 1.2 + Spring 2.0 + Hibernate 3.1 集成开发详解 #### 1. 引言 随着Java Web应用的发展,越来越多的企业级项目选择了Struts、Spring与Hibernate(简称SSH)这三种框架进行集成开发。本篇文章将通过...
在这个“struts1.2+spring2.0+hibernate3.1框架所需jar包”压缩包中,包含了这三个框架的核心库和其他必要的依赖,以便于开发者在项目中集成和使用。 **Struts 1.2** 是一个基于MVC设计模式的Java Web框架,它使得...
Struts1.2、Spring2.0和Hibernate3.1是经典的Java企业级开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成框架。这个小实例为学习者提供了使用这三个框架协同工作的基础示例,有助于理解它们如何在实际项目中...
### Struts2.0+Spring2.0+Hibernate3.1 整合知识点详解 #### 一、项目背景与概述 随着企业应用的发展,越来越多的系统需要具备强大的业务逻辑处理能力以及灵活的数据持久化功能。Struts2作为MVC框架之一,Spring...
采用在web.xml中加载spring配置文件的方法降低struts和spring的耦合度,使用自定义的MyDelegatingRequestProcessor类来代替spring的DelegatingRequestProcessor类来解决spring中action的bean的重复配置问题。...
SSH(Struts2 + Spring2.0 + Hibernate3.1)是一个经典的Java Web开发框架组合,用于构建高效、可扩展的企业级应用。这个上传下载例子是基于SSH框架实现的一个功能模块,它展示了如何在Web应用中处理文件的上传和...
Struts2.0、Spring2.0和Hibernate3.1是经典的Java企业级开发框架组合,通常被称为SSH(Struts2、Spring、Hibernate)架构。这个仓库管理系统是基于SSH搭建的,展示了如何在实际项目中整合这三个框架进行数据管理。 ...
内含Struts1.3 API、Struts2.0 API、Struts1.3标签、Hibernate3.1教程、Hibernate3.1API、Spring3.0 API、Spring3.1API。SSH应有尽有,API均是CHM格式,方便使用。教程为pdf格式。
Struts2、Hibernate3.1和Spring2.0是经典的Java Web开发框架组合,被称为SSH。这个实例源码集合提供了一个完整的项目示例,旨在帮助初学者理解和掌握这三大框架的整合应用。以下是对这三个框架及其整合的详细介绍: ...
Struts2.0、Hibernate3.1和Spring2.0是Java Web开发中经典的三大框架,它们共同构建了所谓的SSH(Struts2、Spring、Hibernate)集成开发环境,为开发者提供了强大的模型-视图-控制器(MVC)架构支持。这个压缩包包含...
eclipse整合Struts1.2 + hibernate3.1 + spring2.0 相关链接:http://blog.csdn.net/shellwin/archive/2010/07/02/5708865.aspx
SSH框架是Java开发中常用的三大框架集合,包括Spring、Struts和Hibernate,它们协同工作以构建高效、可维护的企业级应用程序。在这个特定的压缩包中,我们拥有Spring 2.0、Struts 2和Hibernate 3.1的版本,以及JDBC...
远程教育系统是一个基于Java技术栈的在线学习平台,利用了Struts1.2、Hibernate3.1、Spring2.0和Tomcat5.0等组件,搭配SqlServer2005数据库,构建了一个功能完善的系统。这里我们将深入探讨这些技术及其在远程教育...
很多人在做SSH整合的时候会出现各种异常,其实一看异常类型根本就不是自己书写的代码出了问题,而是MyEclipse所提供的jar包有问题,很容易...Hibernate3.1 + Spring2.0测试通过的,若出现jar包冲突的朋友可以下载下来使用!
Struts1.2、Spring1.2和Hibernate3.1是经典的Java企业级开发框架组合,通常被称为SSH(Struts + Spring + Hibernate)集成。这个整合示例代码提供了一个全面的学习资源,帮助开发者理解如何将这三个强大的框架有效地...
SSH资源环境搭建,ssh开发配置教程,以供参考; 开发环境:MyEclipse6.0+Tomcat5.0+SQLServer2000 配置环境:Struts2+Spring2+Hibernate3.1