转:http://www.blogjava.net/lishunli/archive/2010/01/08/308751.html
1) 整合SSH后,写了一个程序,后面发布(tomcat)的话,就会报下面的错。解决办法是移除Spring2.0 AOP Libraries中的“asm-2.2.3.jar”即可”,我看了一下,确实有
这两个包,删除asm-2.2.3.jar,发布成功。
2) 由于本程序要用到DAO,在用户管理类中我一开始使用
UserDAO dao = new UserDAO();
public void addUser(User user)
{
dao.save(user);
}
后面一直会报一个空指针异常的错误(java.lang.NullPointerException),后来也是在网上找了好久,才发现一个我不小心的地方,就是我已经使用了Spring进行依赖注入,不
过上面的语句根本就没有注入,所以会报空指针异常的错误,改为下面的语句,使用Spring进行注入,也就是使用set方法就行注入即可(初学者经常犯的错误吧)。
private UserDAO dao;
public void setDao(UserDAO dao)
{
this.dao = dao;
}
public void addUser(User user)
{
dao.save(user);
}
<bean id="userManager" class="com.usc.manager.userManagerImpl">
<property name="dao" ref="UserDAO"/>
</bean>
3) 用Struts生成jsp文件的时候,会出现一个Cancel按钮,如果不处理的话,单击会报org.apache.struts.action.InvalidCancelException异常,网上说的话:Cancel按钮
的机制和submit机制是一样的,没有处理,如果要解决的话,在Struts配置文件中的每个action里面加上cancellable="true",虽然这样能够解决异常,但是治标不治本,此时如
果点击Cancel按钮会当一个submit按钮来进行提交,我觉得真有点违背常理,所以我的解决方案就是1.删除cancel按钮,2.修改为reset按钮(我觉得是最好的解决方案)
4) 配置文件
Spring的配置文件
Spring的配置文件主要是对Spring的一些机制进行配置,如:配置sessionFactory、配置sessionFactory、配置事务的传播特性、配置那些类的哪些方法参与事务、配置action,
配置一些bean
Struts的配置文件
主要是修改action中type属性,设置为spring管理,修改为
type="org.springframework.web.struts.DelegatingActionProxy">
5)web的配置加上
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>Spring character encoding filter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
6)适当的时候加入一些过滤器,比较好
以上都是s(Struts1.X)sh,下面的是s(Struts2.0)sh
-----------------------------------------------------------------
1.Struts.xml中的action中class并不是action的class而是自己通过spring注入的action
2.Hibernate的配置文件中加入
<property name="connection.autocommit">true</property>
默认是没有的,不然对数据库的添加...操作都不可以
3.在spring的配置action中,必须加入scope="prototype"
4.web的配置文件中加入
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
5.同上面的(1)(2)
6.注意JSTL和迭代的使用(非常有用)
7.actionForm不能通过spring注入,一般改为静态注入,或者在业务逻辑中进行注入(这个时候一般是准备进行验证的)
8.JSTL真的很强大,但是要注意一点就是一定要记得引入标签库,不然他不报错,但是就是不能用。(切记,切记,已经很多次吃亏了)
9.数据库连接池技术实现如下(通过spring注入):
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mytest?useUnicode=true&characterEncoding=utf8"></property>
<property name="username" value="root"></property>
<property name="password" value="lishunli"></property>
<property name="maxActive" value="100"></property>
<property name="maxIdle" value="30"></property>
<property name="maxWait" value="500"></property>
<property name="defaultAutoCommit" value="true"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>com/test/bean/User.hbm.xml</value>
</list>
</property>
</bean>
10.javax.servlet.UnavailableException: Cannot load a validator resource from '/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml'
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
查看上述内容和你的TOMCAT是不是符合
10.解决中文乱码问题,思路如下
//解决中文乱码问题的方法1,页面端发出的数据作一次encodeURI,服务器段使用new String(old.getBytes("iso8859-1"),"UTF-8");
//解决中文乱码问题的方法2,页面端发出的数据作两次encodeURI,服务器段使用URLDecoder.decode(old,"UTF-8")
11.表单的method方法一般都设置为post,设置为get有的时候会出现中文乱码问题
分享到:
相关推荐
SSH整合是Java Web开发中的一种常见模式,它结合了Struts2、Spring和Hibernate三个开源框架,以实现高效、灵活的MVC(Model-View-Controller)架构。在这个"ssh整合jar包"中,包含了这三个框架的核心库和其他必要的...
SSH整合是指将Spring、Struts2和Hibernate三个开源框架整合在一起,实现MVC设计模式的高效开发模式。在这个过程中,Spring作为应用的核心容器,负责管理Bean;Struts2作为表现层框架,处理用户请求和视图展示;...
在使用SSH整合的3.2.13版本时,需要注意以下几点: 1. **版本兼容性**:确保Spring、Struts和Hibernate的版本兼容,避免因为版本问题导致的冲突或功能缺失。 2. **配置文件**:正确配置struts-config.xml、spring-...
在进行SSH整合时,还需要注意以下几点: 1. 版本兼容性:确保使用的SSH框架版本之间是兼容的,避免因版本不匹配导致的问题。 2. 错误处理:正确处理可能出现的异常,例如数据库连接问题、SQL查询错误等。 3. 性能...
SSH整合JBPM是一个常见的企业级应用开发场景,SSH指的是Spring、Struts和Hibernate这三个开源框架的集成,而JBPM则是一个强大的工作流管理系统。在这个整合过程中,SSH负责应用程序的架构和数据管理,而JBPM则提供了...
在实际开发中,SSH整合还有许多细节需要注意,如异常处理、性能优化、安全配置等。开发者还需要熟悉这三个框架的API和最佳实践,以确保项目的稳定性和可扩展性。总的来说,SSH整合是一项技术性强且需要深入理解各个...
SSH整合,全称为Struts2、Spring和Hibernate的整合,是Java Web开发中常见的三大框架集成,用于构建高效、可维护的Web应用。这个项目"SSH整合留言板功能"旨在演示如何将这三个框架协同工作,实现一个用户登录和留言...
SSH框架,全称为Spring、Struts、Hibernate的组合,是Java Web...在实际开发过程中,务必注意版本兼容性,避免因jar包版本不匹配导致的问题。同时,理解并掌握SSH框架的原理和实践,对于提升Java Web开发能力大有裨益。
Maven整合SSH案例 ************************************************************************************* 注意:运行前请配置Maven环境,和修改config.properties中数据库名称用户和密码,并且修改Tuser中的...
SSH整合是Java EE开发中常见的一个技术组合,它由三个主要的开源框架组成:Struts2作为表现层,Spring作为业务层控制和依赖注入容器,Hibernate作为数据持久化层。这个压缩包提供了一系列的文档,指导如何将这三个...
SSH整合流程是Java Web开发中常见的集成框架,主要包括Struts2、Spring和Hibernate三个组件。这篇文章将详细解释这些组件的作用以及如何在实际项目中进行整合。 1. **Struts2**:Struts2是一个基于MVC设计模式的Web...
下面将详细介绍在SSH整合过程中需要注意的一些关键点。 #### 1. Spring与Tomcat的兼容性问题 - **问题描述**:在整合过程中,可能会出现由于某些第三方库版本不兼容导致的问题。例如,当使用Spring 2.0及以上版本...
SSH整合思路详解 SSH(Spring、Struts、Hibernate)是Java Web开发中常见的三大框架,它们各自负责不同的职责,Spring作为应用上下文和依赖注入框架,Struts处理MVC模式中的控制层,Hibernate则用于对象关系映射。...
2. "新建 文本文档.txt":这可能是一个简单的文本文件,通常用于记录项目说明、注意事项或者开发者的一些临时记事。在没有具体内容的情况下,我们无法提供更多细节。 学习SSH整合的CRM项目源代码,可以帮助初学者...
需要注意的是,SSH整合是一个比较复杂的过程,需要对Spring、Struts2和Hibernate有基本的了解和掌握,如果你是刚接触Java Web开发的初学者,建议先从这三大框架的基础知识开始学起,然后再进行整合实践。
**jBPM4.4与SSH整合配置及完整实例详解** jBPM(Java Business Process Management)是一款开源的工作流管理系统,主要用于处理业务流程自动化。在本实例中,我们将讨论如何将jBPM 4.4版本与SSH(Spring、Struts、...
在实际项目中,SSH整合还需要考虑安全、性能、扩展性和可维护性等方面的问题。例如,使用Spring Security加强应用的安全性,通过缓存技术提高性能,以及利用模块化设计来提升代码的复用性。SSH整合的深度和广度取决...
首先,Spring框架是SSH整合的核心,它通过DI和AOP来简化应用的复杂性。DI允许开发者在运行时动态地将依赖注入到对象中,而不是硬编码这些依赖。AOP则允许在不修改原有代码的情况下,添加新的功能或增强已有功能,如...
SSH整合案例(myeclipse)搭建,这个案例没有业务代码,就单纯地把SSH的框架平台搭好,你们可以很顺利的在上面开发,而无需花时间搭平台了。懒人装用,测试通过了。如果有什么问题,留言解决,注意给个好评,谢谢。