返回:[web工程]Struts2+Spring3.1+Hibernate3.6的集成
上一步:[web工程]集成struts2 mvc
下一步:[web工程]集成hibernate
集成spring3
- 复制jar到WEB-INF/lib目录:
复制,并添加到java build path:
org.springframework.aop-3.1.0.M1.jar
org.springframework.asm-3.1.0.M1.jar
org.springframework.beans-3.1.0.M1.jar
org.springframework.context-3.1.0.M1.jar
org.springframework.core-3.1.0.M1.jar
org.springframework.expression-3.1.0.M1.jar
org.springframework.web-3.1.0.M1.jar
spring包分类总结:
============================================
spring3 lib:
core:
org.springframework.beans-3.0.5.RELEASE.jar
org.springframework.core-3.0.5.RELEASE.jar
org.springframework.context-3.0.5.RELEASE.jar
org.springframework.expression-3.0.5.RELEASE.jar
core depend lib:
org.springframework.asm-3.0.5.RELEASE.jar
web:
tld: spring.tld, spring-form.tld
org.springframework.web-3.0.5.RELEASE.jar
springMVC: org.springframework.web.servlet-3.0.5.RELEASE.jar
db:
org.springframework.orm-3.0.2.RELEASE.jar
org.springframework.transaction-3.0.2.RELEASE.jar
org.springframework.jdbc-3.0.2.RELEASE.jar
aop:
org.springframework.aop-3.0.5.RELEASE.jar
depend on:
aopalliance-1.0.jar
============================================
- 配置applicationContext.xml,并配置LoginAction的bean
- 普通bean配置,注意加上scope="prototype"
-
注解方式配置:<context:component-scan base-package="org.skzr.demo"/>
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" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="loginAction" class="org.skzr.demo.action.LoginAction" scope="prototype"/>
<context:component-scan base-package="org.skzr.demo"/>
</beans>
添加注解到LoginAction.java,注意:@Component("loginActionComponent") @Scope("prototype")
/**
* Copyright (c) 2010-2020 by wasion.com
* All rights reserved.
* @author <a href="mailto:skzr.org@gmail.com">skzr.org</a>
* @date 2011-5-19 下午10:20:57
*/
package org.skzr.demo.action;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.opensymphony.xwork2.ActionSupport;
/**
* 登录检测
* @author <a href="mailto:skzr.org@gmail.com">skzr.org</a>
* @version 1.0.0
* @since JDK1.6
*/
@Component("loginActionComponent")
@Scope("prototype")
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
/** 用户名 */
private String userName;
/** 密码 */
private String password;
/**
* @return {@link #userName}
*/
public String getUserName() {
return userName;
}
/**
* @param userName {@link #userName}
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* @return {@link #password}
*/
public String getPassword() {
return password;
}
/**
* @param password {@link #password}
*/
public void setPassword(String password) {
this.password = password;
}
/**
* 登录验证
* @return 验证后页面视图
*/
public String check() {
return "admin".equals(userName) ? "welcome" : "success";
}
}
- 修改web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<description>我爱编程</description>
<display-name>我爱编程</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>app.root</param-value>
</context-param>
<context-param>
<param-name>log4jRefreshInterval</param-name>
<param-value>10000</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
- 启动web查看后台输出是不是正常初始化spring
- 修改struts.xml的action从spring中获取
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="demo" extends="struts-default" namespace="/">
<action name="loginAction" class="org.skzr.demo.action.LoginAction">
<result>/WEB-INF/jsp/login.jsp</result>
<result name="welcome">/WEB-INF/jsp/welcome.jsp</result>
</action>
<!-- 来自spring配置的bean -->
<action name="loginActionSpring" class="loginAction">
<result>/WEB-INF/jsp/login.jsp</result>
<result name="welcome">/WEB-INF/jsp/welcome.jsp</result>
</action>
<!-- 来自spring注解配置的bean -->
<action name="loginActionSpringComponent" class="loginActionComponent">
<result>/WEB-INF/jsp/login.jsp</result>
<result name="welcome">/WEB-INF/jsp/welcome.jsp</result>
</action>
</package>
</struts>
- 哈哈struts运行不正常了,无法使用spring的:
- 修改struts.properties添加spring支持:struts.objectFactory=spring
- 复制struts2-spring-plugin-2.2.3.jar到lib,并添加到java build path
- 重新运行系统即可正常登录了。
新的登录页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>系统登录:</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<center><h1>struts action</h1></center>
<form action="loginAction!check.do" method="post">
<table align="center">
<tr><td>用户名:</td><td><input name="userName" value="${userName }"></td></tr>
<tr><td>密 码:</td><td><input name="password" type="password"></td></tr>
<tr><td><input type="submit" value="登录"></td><td><input type="reset" value="重置"></td></tr>
</table>
</form>
<center><h1>action配置在spring中的</h1></center>
<form action="loginActionSpring!check.do" method="post">
<table align="center">
<tr><td>用户名:</td><td><input name="userName" value="${userName }"></td></tr>
<tr><td>密 码:</td><td><input name="password" type="password"></td></tr>
<tr><td><input type="submit" value="登录"></td><td><input type="reset" value="重置"></td></tr>
</table>
</form>
<center><h1>action配置在spring中的(注解方式配置)</h1></center>
<form action="loginActionSpringComponent!check.do" method="post">
<table align="center">
<tr><td>用户名:</td><td><input name="userName" value="${userName }"></td></tr>
<tr><td>密 码:</td><td><input name="password" type="password"></td></tr>
<tr><td><input type="submit" value="登录"></td><td><input type="reset" value="重置"></td></tr>
</table>
</form>
</body>
</html>
- 下载demo程序 Good luck ^ ^
返回:[web工程]Struts2+Spring3.1+Hibernate3.6的集成
上一步:[web工程]集成struts2 mvc
下一步:[web工程]集成hibernate
分享到:
相关推荐
在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...
【标题】"webservice cxf示例工程集成spring"揭示了这个项目的核心是关于Web服务(Web Service)的实现,采用Apache CXF框架,并且整合了Spring框架进行更高效的管理和控制。Apache CXF是一个开源的Java框架,它使得...
【集成Flex3+BlazeDS3.2+Spring2.5.6的另一种方式】\n\n在上一讲中,我们介绍了如何将Flex3、BlazeDS3.2和Spring2.5.6集成在一起,构建一个强大的WEB项目。本讲我们将探讨集成方式二,该方法采用Spring的侦听配置...
在本文中,我们将深入探讨如何将Spring框架与Apache ActiveMQ集成,以便在Web工程中实现消息的发送和接收。这是一个经过实践验证的例子,代码结构清晰,适用于初学者和经验丰富的开发者。首先,我们需要理解Spring ...
7. **扩展与优化**:Spring Web工程可以进一步扩展,如添加数据库支持、安全控制(Spring Security)、集成WebSocket、使用RESTful API等。此外,你还可以利用Spring Boot的Profile功能,根据不同的环境(开发、测试...
《Spring3与Hibernate4在Web工程中的整合应用详解》 在现代Java开发中,Spring框架以其强大的依赖注入、AOP(面向切面编程)以及全面的企业级服务支持,成为了核心的开发工具。同时,Hibernate作为一款优秀的ORM...
CXF集成了Spring框架,使得构建和管理Web服务变得更加简便和灵活。本篇将深入探讨CXF与Spring的集成,以及如何通过它们来发布一个WebSocket服务的代码实例。 首先,我们了解CXF的核心功能。CXF提供了SOAP和RESTful...
在Spring框架中,进行Web工程的JUnit单元测试是软件开发中的关键步骤,它能确保代码的质量和可维护性。本文将深入探讨如何利用Spring管理的Web工程进行单元测试,以及如何借助工具提升测试效率。 首先,理解“通过...
在CXF Webservice中集成Spring,可以方便地管理服务组件,实现服务的生命周期管理。Spring容器负责初始化、配置和管理CXF服务,使得服务的创建和销毁更加便捷,同时也简化了代码的编写。 2. **集成WSS4J**: ...
前者是构建在Spring框架上的Web应用程序框架,可以同许多其他视图技术无缝集成;后者是控制业务处理流程的有效解决方案,提供了一种编写有状态和基于会话的Web应用程序的简便手段。 《深入解析Spring MVCgn Web Flow...
本项目基于Kettle实现了Web版的数据集成平台,旨在为用户提供一种直观、易用的界面,通过拖拽方式即可进行数据处理任务的构建。 首先,我们来看“数据采集”这个标签。数据采集是数据处理的第一步,它涉及从不同...
在"spring hibernate web工程包"中,我们通常会看到以下关键组件和概念: 1. **Spring MVC**:Spring 框架的一部分,用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。它使得业务逻辑与展示层分离,提高了代码...
【xfire集成spring+hibernate实现webservice样例工程】是一个典型的Java开发中的整合案例,它演示了如何将三个重要的技术框架——XFire、Spring和Hibernate有效地结合在一起,以构建一个提供Web服务的工程。这个工程...
标题"xfire集成spring的jar包"指出,这是一个关于如何将XFire与Spring集成的解决方案,通过包含的jar包,我们可以创建和消费基于SOAP的Web服务。Spring是一个强大的Java应用框架,它提供了依赖注入、面向切面编程等...
综上所述,本文档提供了一个全面的指南,帮助开发者了解如何在Axis2中集成Spring框架,以构建高性能且易于维护的Web服务。通过遵循上述步骤和建议,可以有效地利用这两种强大的技术栈来满足业务需求。
在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...
这样,我们就完成了Spring与MyBatis的集成,可以在Web工程中方便地进行数据库操作。 总结一下,Spring和MyBatis的配置文件管理了对象的生命周期和数据库连接。数据源是连接数据库的关键,它在两者之间起着桥梁的...
Spring框架还包含了对数据库操作的支持,如JDBC抽象层、ORM集成(如Hibernate和MyBatis),以及用于Web开发的Spring MVC,能够与Flex这样的前端技术无缝配合。 在"SSP"工程中,我们可以推测以下几个关键知识点: 1...
开发通常分为三个主要部分:服务工程(Sample-Service)、Web工程(Sample-Web)以及整合工程(Sample)。 **1. Sample-Service工程** - 创建Bundle Project,定义服务接口和其实现类。 - 在MANIFEST.MF中声明接口...