第一部分: Struts 开发 6.83MB 22分36秒 http://beansoft.java-cn.org/download/ssh_1_struts.exe
第二部分: Hibernate + Spring 11.5MB 38分59秒 http://beansoft.java-cn.org/download/ssh_2_hibernate_spring.exe
第三部分: 自己实现 SpringProxyAction 5.05MB 14分25秒 http://beansoft.java-cn.org/download/ssh_3_struts_proxy_asm.exe
第四部分: ASM 错误解决及用 Spring 的代理实现整合 9.95MB 23分49秒 http://beansoft.java-cn.org/download/ssh_4_spring_struts.exe
大纲 PDF 下载: http://beansoft.java-cn.org/download/spring_struts_hibernate.pdf 427KB
代码下载(不带类库): http://beansoft.java-cn.org/download/myssh.rar 45KB
视频大纲:
Java EE 讲座
MyEclipse 5.5 开发 Spring 整合 Struts, Hibernate 的应用
刘长炯
2007.10
本章要点
创建数据库
快速开发 Struts 应用
添加 Hibernate 功能
添加 Spring 功能
Spring 整合 Hibernate
模拟 Action 代理类实现 Struts + Spring
Spring 整合 Struts
Asm 出错和 log4j.properties 文件
测试运行
创建数据库
• 创建数据库
Ø 用 MyEclipse Derby 或者其它数据库
Ø 用 MyEclipse Database Explorer 管理数据库
Ø 执行 SQL:
• CREATE TABLE bbsuser (
• id int(11) NOT NULL,
• username varchar(200) NOT NULL,
• password varchar(20) NOT NULL,
• age int,
• PRIMARY KEY (id)
• )
• ENGINE=MyISAM DEFAULT CHARSET=GBK;
快速开发 Struts 应用
添加 Hibernate 功能
添加 Spring 功能
Spring 整合 Hibernate
Spring 整合 Hibernate(续)
模拟 Action 代理类实现 Struts + Spring
Spring 整合 Struts
• 添加 Spring Plug in
Ø <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
Ø <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml" />
Ø </plug-in>
• 替换 Action 的 Type
Ø <action path="/login“ …
Ø type="org.springframework.web.struts.DelegatingActionProxy" />
• 在 Spring 配置文件中配置 Bean
Ø 要点: 通过 path 和 bean 的 name 进行匹配, 这两个值必须一样
Ø <bean name="/login" class="com.test.struts.action.LoginAction"></bean>
• 注入 DAO 的代理 bean
• 详细步骤参考文档
Spring 整合 Struts 的两种方式
• struts1加载spring的两种方式:
第一种:通过web.xml配置加载spring上下文环境,其配置方式如下:
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
通过listener加载
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
或者利用severlet类加载
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
第二种方式:
使用Struts插件
在struts-config.xml中
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml"/>
</plug-in>
• 这两种配置的明显区别就是,第一种方式可以配置多个spring配置文件。
Asm 出错和 log4j.properties 文件
• Log4j.properties
Ø # Configure logging for testing: optionally with log file
Ø log4j.rootLogger=WARN, stdout
Ø # log4j.rootLogger=WARN, stdout, logfile
Ø log4j.appender.stdout=org.apache.log4j.ConsoleAppender
Ø log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
Ø log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
Ø log4j.appender.logfile=org.apache.log4j.FileAppender
Ø log4j.appender.logfile.File=target/spring.log
Ø log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
Ø log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
• 删除 asm-2.2.3.jar
测试运行
• 测试运行
Ø 用 MyEclipse 发布到 Tomcat
Ø 运行
Ø 打开浏览器测试