1、下载工具及框架
eclipse-jee-indigo-SR1-win32.zip
struts-2.1.8.1-all.zip
log4j-1.2.16
hibernate-distribution-3.3.1.GA-dist.zip
hibernate-annotations-3.3.1.GA
spring-framework-2.5.6.SEC01-with-dependencies
2、创新一个 dynamic web project
Tomcat 6.0最多支持Servlet 2.5
所以在创建项目时 dynamic web modlue version 选择2.5以下
3、创建tomcat server
4、新建jsp页面时默认文件编码为ISO8859-1
eclipse --> window -->Preferences-->web-->jsp-->utf-8
8、添加struts2
a)添加struts的jar包:
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
commons-logging-1.0.4.jar
9、改web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
10、拷贝struts demo里面的struts.xml到src目录下
11、拷贝log4j-1.2.16.jar到web-inf->lib下
12、去struts demo中考贝log4j.properties至src 下
13、eclipse --> window -->Preferences-->java-->build path-->user libraries-->hibernate
添加
hibernate3.jar
\lib\required 下载所有jar
hibernate-annotations.jar
ejb3-persistence.jar
hibernate-commons-annotations.jar
14、project->properties->java build path ->add library->user libraries ->hibernate
15、添加slf4j的实现jar
16、添加mysql数据库驱动
17、在src下新建hibernate.cfg.xml,具体内容去hibernate帮助文档拷贝
18、添加spring 的jar包直接将spring3.1/dist下面的jar拷贝到lib目录下面(如果使用user libraries报错,提示找不到jar包)
19、加完了所有spring 3.1的包后会报
Cannot find class [org.apache.commons.dbcp.BasicDataSource] (去spring 2.5.4找来commons-dbcp.jar)
Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool(去spring 2.5.4找来commons-pool.jar)
nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration(报这个错的原因是,我的hibernate使用user libraries方式引入,直接拷贝到lib就没有问题,为什么马士兵没有问题)
20、org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysWebSiteInfoService' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'sysWebSiteInfoDAO' of bean class [com.a020_com.service.impl.SysWebSiteInfoServiceImpl]: Bean property 'sysWebSiteInfoDAO' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
(报此错误是因为我在service层中没有给dao添加get set 方法)
21、class path resource [WEB-INF/applicationContext.xml] cannot be opened because it does not exist(applicationContext.xml文件存放的位置参见http://blog.csdn.net/snihcel/article/details/7545512,我用的是第四方法以,OK)
22、NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor解决办法,NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor解决办法;
解决办法:发生这样的原因是因为缺少了jar包。
缺少的就是 aopalliance-alpha1.jar 它啦
23、删除所有 spring-framework-3.1.0.RELEASE jar包,使用spring 2.5.4
24、添加事务管理xml配置
25、Bean named 'txAdvice' must be of type [org.aopalliance.aop.Advice], 由于之前引用spring 3.1是,引用包aopalliance-alpha1.jar,而2.5.4是不需这个包的
26、xml ssh整全成功
27、添加annotaion
28、 hibernate annotaion 加入三个包
a) hibernate annotaion.jar
b) ejb3 persistence.jar
c) hibernate common-annotations.jar
29、修改applicationContext.xml(注意使用annotation的配置,加入spring annotation包)
http://blog.csdn.net/snihcel/article/details/7546543
<bean id="factory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="myDataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="annotatedClasses">
<list>
<value>com.yin.hibernate.GuestBook</value>
</list>
</property>
</bean>
30、<!--加入common-annotations.jar(发现不加这个包,也正常)-->
31、-加入common-annotations.jar
32、加struts lib目录下 struts2-spring-plugin-2.1.8.1.jar
33、使用annation 的方式无法实例化 action层的类包???
原因是web.xml applicationContext.xml配置错误
错误配置
<param-value>applicationContext*.xml</param-value>
正确配置
<param-value>classpath:applicationContext*.xml</param-value>
问题全部解决
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下
庆贺一下