`
skzr.org
  • 浏览: 365543 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

[web工程]集成spring3

阅读更多

 

 

 

返回:[web工程]Struts2+Spring3.1+Hibernate3.6的集成

上一步:[web工程]集成struts2 mvc

下一步:[web工程]集成hibernate

集成spring3

 

  1. 复制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
    ============================================
     
  2. 配置applicationContext.xml,并配置LoginAction的bean
    1. 普通bean配置,注意加上scope="prototype"
    2. 注解方式配置:<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";
      	}
      }
      
       
  3. 修改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>
    
     
  4. 启动web查看后台输出是不是正常初始化spring
  5. 修改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>    
    
     
  6. 哈哈struts运行不正常了,无法使用spring的:
    1. 修改struts.properties添加spring支持:struts.objectFactory=spring
    2. 复制struts2-spring-plugin-2.2.3.jar到lib,并添加到java build path
    3. 重新运行系统即可正常登录了。
      新的登录页面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>密&nbsp;码:</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>密&nbsp;码:</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>密&nbsp;码:</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>
      
       
  7. 下载demo程序 Good luck ^ ^

 

返回:[web工程]Struts2+Spring3.1+Hibernate3.6的集成

上一步:[web工程]集成struts2 mvc

下一步:[web工程]集成hibernate

3
1
分享到:
评论

相关推荐

    在Web项目中集成Spring

    在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...

    webservice cxf示例工程集成spring

    【标题】"webservice cxf示例工程集成spring"揭示了这个项目的核心是关于Web服务(Web Service)的实现,采用Apache CXF框架,并且整合了Spring框架进行更高效的管理和控制。Apache CXF是一个开源的Java框架,它使得...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6集成方式二

    【集成Flex3+BlazeDS3.2+Spring2.5.6的另一种方式】\n\n在上一讲中,我们介绍了如何将Flex3、BlazeDS3.2和Spring2.5.6集成在一起,构建一个强大的WEB项目。本讲我们将探讨集成方式二,该方法采用Spring的侦听配置...

    spring mq集成 web工程发送和接收消息例子

    在本文中,我们将深入探讨如何将Spring框架与Apache ActiveMQ集成,以便在Web工程中实现消息的发送和接收。这是一个经过实践验证的例子,代码结构清晰,适用于初学者和经验丰富的开发者。首先,我们需要理解Spring ...

    构建spring web工程

    7. **扩展与优化**:Spring Web工程可以进一步扩展,如添加数据库支持、安全控制(Spring Security)、集成WebSocket、使用RESTful API等。此外,你还可以利用Spring Boot的Profile功能,根据不同的环境(开发、测试...

    spring3和hibernate4WEB工程

    《Spring3与Hibernate4在Web工程中的整合应用详解》 在现代Java开发中,Spring框架以其强大的依赖注入、AOP(面向切面编程)以及全面的企业级服务支持,成为了核心的开发工具。同时,Hibernate作为一款优秀的ORM...

    CXF集成Spring

    CXF集成了Spring框架,使得构建和管理Web服务变得更加简便和灵活。本篇将深入探讨CXF与Spring的集成,以及如何通过它们来发布一个WebSocket服务的代码实例。 首先,我们了解CXF的核心功能。CXF提供了SOAP和RESTful...

    通过spring管理的web工程的junit单元测试方法四

    在Spring框架中,进行Web工程的JUnit单元测试是软件开发中的关键步骤,它能确保代码的质量和可维护性。本文将深入探讨如何利用Spring管理的Web工程进行单元测试,以及如何借助工具提升测试效率。 首先,理解“通过...

    CXF webservice 示例工程(集成spring)

    在CXF Webservice中集成Spring,可以方便地管理服务组件,实现服务的生命周期管理。Spring容器负责初始化、配置和管理CXF服务,使得服务的创建和销毁更加便捷,同时也简化了代码的编写。 2. **集成WSS4J**: ...

    深入解析Spring+MVC与Web+Flow.pdf

    前者是构建在Spring框架上的Web应用程序框架,可以同许多其他视图技术无缝集成;后者是控制业务处理流程的有效解决方案,提供了一种编写有状态和基于会话的Web应用程序的简便手段。 《深入解析Spring MVCgn Web Flow...

    基于kettle实现的web版数据集成平台,致力于提供web可拖拽的数据集成平台。.zip

    本项目基于Kettle实现了Web版的数据集成平台,旨在为用户提供一种直观、易用的界面,通过拖拽方式即可进行数据处理任务的构建。 首先,我们来看“数据采集”这个标签。数据采集是数据处理的第一步,它涉及从不同...

    spring hibernate web工程包

    在"spring hibernate web工程包"中,我们通常会看到以下关键组件和概念: 1. **Spring MVC**:Spring 框架的一部分,用于构建 Web 应用程序的模型-视图-控制器(MVC)架构。它使得业务逻辑与展示层分离,提高了代码...

    xfire集成spring+hiernate实现webservice样例工程

    【xfire集成spring+hibernate实现webservice样例工程】是一个典型的Java开发中的整合案例,它演示了如何将三个重要的技术框架——XFire、Spring和Hibernate有效地结合在一起,以构建一个提供Web服务的工程。这个工程...

    xfire集成spring的jar包

    标题"xfire集成spring的jar包"指出,这是一个关于如何将XFire与Spring集成的解决方案,通过包含的jar包,我们可以创建和消费基于SOAP的Web服务。Spring是一个强大的Java应用框架,它提供了依赖注入、面向切面编程等...

    Axis2集成Spring.doc

    综上所述,本文档提供了一个全面的指南,帮助开发者了解如何在Axis2中集成Spring框架,以构建高性能且易于维护的Web服务。通过遵循上述步骤和建议,可以有效地利用这两种强大的技术栈来满足业务需求。

    Spring2.5+Quartz定时任务简单例子web工程

    在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...

    spring,myibatis,配置文件,数据源,web工程

    这样,我们就完成了Spring与MyBatis的集成,可以在Web工程中方便地进行数据库操作。 总结一下,Spring和MyBatis的配置文件管理了对象的生命周期和数据库连接。数据源是连接数据库的关键,它在两者之间起着桥梁的...

    flex+spring 工程

    Spring框架还包含了对数据库操作的支持,如JDBC抽象层、ORM集成(如Hibernate和MyBatis),以及用于Web开发的Spring MVC,能够与Flex这样的前端技术无缝配合。 在"SSP"工程中,我们可以推测以下几个关键知识点: 1...

    基于VirgoServer进行Spring Osgi Web开发

    开发通常分为三个主要部分:服务工程(Sample-Service)、Web工程(Sample-Web)以及整合工程(Sample)。 **1. Sample-Service工程** - 创建Bundle Project,定义服务接口和其实现类。 - 在MANIFEST.MF中声明接口...

Global site tag (gtag.js) - Google Analytics