`
liyunqi
  • 浏览: 18448 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

全程指导你整合Struts2.1.6+Spring2.5.6(附源代码)

    博客分类:
  • Java
阅读更多


   先说一下我自己的开发环境吧,我的开发环境是:JDK1.6+MyEclipse6.6+Tomcat6.0.18,如果你的开发环境与我这里的不一样,不必担心!只要你的开发环境为JDK1.5以上+MyEclipse6.0以上+Tomcat5.5以上,也同样可以达到本文最后的相同效果,包括其他的开发工具(如Jbuilder,NetBeans,JBoss,Weblogic等)也是如此。

  废话少说,时间就是生命,咱们开始动手吧,

 

1、收集或下载下列的所有资源:

  巧妇难为无米之炊,没有下面这些资源,我们将无从下手。不过,如果你已经全部有了这些资源,可以直接跳过这一步。

(1)struts-2.1.6-all.zip:http://www.rayfile.com/zh-cn/files/fbf3c36b-c2fa-11df-be7a-0015c55db73d/

(2)spring-framework-2.5.6-with-dependencies.zip:http://www.rayfile.com/zh-cn/files/2a174778-c2fb-11df-88ab-0015c55db73d/

(3)jdk-6u12-windows-i586-p.exe:http://www.rayfile.com/files/2879e173-66f0-11de-9cd8-0014221b798a/
(4)apache-tomcat-6.0.16.exe:http://www.rayfile.com/files/918febc7-66ed-11de-ab58-0014221b798a/

(5)整合成功后完成的源代码(含jar包):http://www.rayfile.com/zh-cn/files/07b643cf-e1ae-11df-8d47-0015c55db73d/

 

2、新建Web项目并加入相应的jar包:

(1)在MeEclipse中新建一个web项目,输入一个项目名称,如我的是:Struts216Spring256,选中“Java EE 5.0”选项(支持JSTL),其他默认即可,直接点击完成,如图:

(2)导入相应jar外:

  解压第1步中的struts-2.1.6-all.zip和spring-framework-2.5.6-with-dependencies.zip这两个资源,

  复制strut2.1.6的解压目录struts-2.1.6\lib下的如下jar包到上面建好的web项目的WebRoot/WEB-INF/lib里面:

  commons-fileupload-1.2.1.jar

  commons-logging-1.0.4.jar

  freemarker-2.3.13.jar

  ognl-2.6.11.jar

  struts2-core-2.1.6.jar

  xwork-2.1.2.jar

  struts2-spring-plugin-2.1.6.jar(如果struts2不与spring整合,不需要导入这个包,但在我们这里当然是需要的)

  同样的,

  复制spring2.5.6解压目录spring-framework-2.5.6\dist的spring.jar到web项目的WebRoot/WEB-INF/lib里面:

  spring.jar

 

  到此,所有我们需要的jar都导入完成了。

 

3、添加struts.xml并配置web.xml:

   (1)在项目src目录中增加文件struts.xml,struts.xml文件的初始内容如下:

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<!-- 默认使用simple主题,其他可选的主题有xhtml,css_xhtml,ajax等 -->
	<constant name="struts.ui.theme" value="simple"/>
	
	<package name="struts2" extends="struts-default">
		<!-- 这里添加Action的映射配置 -->
	</package>
</struts>

   (2)配置web.xml文件,以集成支持struts2框架,web.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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_2_5.xsd">

	<!-- Spring内置的字符编码过滤器 -->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 添加Struts2支持 -->
	<filter>
		<filter-name>struts2</filter-name>
		<filter-class>
			org.apache.struts2.dispatcher.FilterDispatcher
		</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 添加Spring支持 -->
	<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>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
</web-app>

  

4、添加 applicationContext-action.xml、applicationContext-common.xml和applicationContext-service.xml文件:(这三个文件其实是applicationContext.xml的分解,目的一是模块化配置,另一方面也为了将来与hibernate集成)

  在项目的src目录下添加 applicationContext-action.xml、applicationContext-common.xml和applicationContext-service.xml文件,这三个文件的初始内容完全相同,文件内容如下:

<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
                http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
	<!-- 后面会在这里配置bean -->
</beans>

 

  至此,struts2与spring的最简单集成已经完成了,利用MyEclipse发布web项目到tomcat下,启动tomcat没有发现错误,说明最简单的配置已经成功。稍后,我们会在此基础上实现一个简单的用户登录示例。

 

5、实现一个用户登录的示例:

(1)建立页面login.jsp、welcome.jsp、error.jsp分别为登录页面、登录成功页面、出错页面:

 

<%@ page language="java" contentType="text/html;charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>登录页面</title>
	</head>
	<body>
		<s:form action="login" method="post">
			用户名:<s:textfield name="username"/>
			<br>
			密  码:<s:password name="password"/>
			<br>
			<s:submit value="登录"/>
		</s:form>
	</body>
</html>

 

<%@ page language="java" contentType="text/html;charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
		<title>登录成功</title>
	</head>
	<body>
		用户名:${username }
		<br>
		密码:${password }
		<br>
	</body>
</html>

 

<%@ page language="java" contentType="text/html;charset=utf-8"
	pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
		<title>登录失败</title>
	</head>
	<body>
		登录失败!
		<br>
		<a href="login.jsp">请重新登录</a>
		<br>
	</body>
</html>

 

 

(2)建包com.a8.service和com.a8.service.impl分别存放业务逻辑处理的接口和其实现,分别建立接口LoginService.java和其实现LoginServiceImpl.java

package com.a8.service;

public interface LoginService {
	public boolean isLogin(String username, String password);
}

 

LoginServiceImpl .java,只是非常简单的测试登录用户名和密码,判断用户名密码是否为“myname”、“123456”,若是则登录成功,否则登录失败。在实际开发中,这里通常是一个数据库的操作实现。

package com.a8.service.impl;

import com.a8.service.LoginService;


public class LoginServiceImpl implements LoginService {

	public boolean isLogin(String username, String password) {
		//这里仅仅以简单的用户名和密码做测试,实现开发中应该是查询数据库用户表
		//登录用户名为“myname”,密码为“123456”,则登录成功
		if (null != username && null != password
				&& "myname".equals(username.trim())
				&& "123456".equals(password.trim())) {
			return true;
		}
		return false;
	}

}

 
(3)在applicationContext-service.xml中添加业务实现类的配置,让Spring来管理此bean:

需要注意的是,在配置class属性时,必须保证LoginServiceImpl所在的包位置是一致的。

<bean id="loginService"
        class="com.a8.service.impl.LoginServiceImpl">
</bean>

 

(4)创建包com.a8.web.action用于存放action,并新建LoginAction.java,继承ActionSupport类
包含从页面所接收参数username、password,以及业务逻辑处理类LoginService类型的loginService,给username和password设置get、set,给loginService设置set方法,以让Spring为我们自动注入其实现类对象。

package com.a8.web.action;

import com.a8.service.LoginService;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {
	private static final long serialVersionUID = -6505213250169207817L;
	private LoginService loginService;
	private String username;
	private String password;

	@Override
	public String execute() throws Exception {
		if (loginService.isLogin(username, password)) {
			return SUCCESS;
		}
		return INPUT;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public void setLoginService(LoginService loginService) {
		this.loginService = loginService;
	}
}

 

(5)在applicationContext-action.xml中进行添加LoginAction配置,也让Spring来管理LoginAction:

需要注意的是,在配置class属性时,必须保证LoginAction所在的包位置是一致的。

<bean id="loginAction" class="com.a8.web.action.LoginAction"
        scope="prototype">
        <property name="loginService" ref="loginService"></property>
</bean>

 (6)在struts.xml中进行配置,处理页面提交的请求,配置action:login,login一定要和login.jsp中form的action属性名匹配。此时struts.xml文件如下:

<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE struts PUBLIC
     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
	<!-- 默认使用simple主题,其他可选的主题有xhtml,css_xhtml,ajax等 -->
	<constant name="struts.ui.theme" value="simple"/>
	
	<package name="struts2" extends="struts-default">
		<!-- 这里添加Action的映射配置 -->
		<action name="login" class="loginAction">
			<result name="success">welcome.jsp</result>
			<result name="input">login.jsp</result>
			<result name="error">error.jsp</result>
		</action>

	</package>
</struts>

 (7)项目的所有目录结构如图所示:


项目目录结构

 

6、测试项目示例是否成功:

(1)发布项目到tomcat服务器,进入登录页面,测试登录:

登录页面

输入用户名myname和密码123456,登录成功:

 

哈哈,结过测试,登录成功,以上结果说明Struts2.1.6与Spring2.5.6整合成功!

 

附:完整的源代码(包括jar包)下载地址:

http://www.rayfile.com/zh-cn/files/07b643cf-e1ae-11df-8d47-0015c55db73d/

  • 大小: 25.6 KB
  • 大小: 42.1 KB
  • 大小: 42.5 KB
  • 大小: 42.7 KB
分享到:
评论

相关推荐

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(含JAR包)

    Struts2.1.6、Spring2.5.6和Hibernate3.3.1是Java Web开发中的三个重要框架,合称为SSH(Struts2、Spring、Hibernate)。这个全注解实例详解旨在帮助开发者理解如何在不使用XML配置的情况下,通过注解实现这三大框架...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一)

    在这个全注解实例中,我们将深入理解如何利用Struts2.1.6、Spring2.5.6和Hibernate3.3.1构建应用程序,避免传统的XML配置文件,转而采用注解方式来提高开发效率。 **开发环境**: - JDK 1.6.0_18 - Eclipse 3.2.1 -...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包

    Struts2.1.6、Hibernate3.3.1和Spring2.5.6是Java Web开发中的三个关键框架,它们分别负责MVC(模型-视图-控制器)架构、对象关系映射(ORM)以及依赖注入(DI)和面向切面编程(AOP)。这些框架的整合使用被称为SSH...

    SSH2框架整合(Struts2.1.6+hibernate3.3.2+spring2.5.6)

    在这个例子中,使用的版本分别是Struts2.1.6、Hibernate3.3.2和Spring2.5.6。 首先,让我们详细了解一下这三个框架的核心功能: 1. **Struts2**:这是一个基于MVC(Model-View-Controller)设计模式的Web应用框架...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包.zip

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自解决应用程序的不同问题...总的来说,Struts2.1.6、Hibernate3.3.1和Spring2.5.6的整合是Java EE开发中一个经典的架构模式,至今仍被许多项目所采用。

    Struts2.1.6与Spring2.5.6框架整合开发

    Struts2.1.6与Spring2.5.6框架的整合开发是Java Web开发中的常见实践,这两种框架各自有着独特的优势,结合使用可以构建出高效、可维护的Web应用程序。Struts2作为MVC(Model-View-Controller)框架,负责处理请求和...

    Spring+struts+hibernate

    综合了ssh架构(Spring+Struts2+Hibernate)的实现用户注册的web工程 里面包含了所需的所有jar包 (Struts2.1.6+Spring2.5.6+Hibernate3.3.2)

    spring2.5.6+hibernate3.3.2+struts2.1.8

    标题 "spring2.5.6+hibernate3.3.2+struts2.1.8" 提供了一个经典的Java Web开发技术栈,这个组合被称为S2SH(Spring、Struts2和Hibernate)。这个版本的集成对于初学者来说是一个很好的起点,因为它包含了三个主要的...

    spring+hibernate+struts整合jar包

    Struts2.1.6是基于MVC(模型-视图-控制器)设计模式的Web框架,用于处理用户请求和呈现响应。它提供了一系列的拦截器、动作和结果类型,使得开发者能够轻松构建动态Web应用。在SSH整合中,Struts2作为前端控制器,...

    Struts2 + jQuery 实现ajax.txt

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java开发人员可以使用面向对象的方式来操作数据库。Hibernate不仅解决了数据持久化的问题,还提供了强大的查询语言HQL。 #...

    S2SH框架配置步骤

    - 下载所需包:分别从Apache官网、Hibernate官网和Spring官网下载Struts2.1.6、Hibernate3.3.1和Spring2.5的相应版本。 - 创建Web项目:在MyEclipse中选择“New” -&gt; “Dynamic Web Project”,设置J2EE版本为Java...

    SSH框架配置步骤.docx

    6. Spring 2.5.6:提供依赖注入、AOP、数据访问等功能,是企业级应用的核心框架。 7. Hibernate 3.3.1:对象关系映射框架,简化数据库操作。 二、SSH框架准备 在开始配置之前,需要下载以下组件的最新版本: 1. ...

    SSH框架配置步骤.pdf

    Struts2版本为2.1.6,Spring版本为2.5.6,Hibernate版本为3.3.1。这些都是配置SSH框架的基础软件需求。 **配置步骤** 1. **下载SSH框架所需包** - Struts2的完整发行版 - Hibernate的相应版本 - Spring框架 2....

    ssh框架所需要的JAR包

    Spring2.5.6版本是一个成熟版本,支持JSR-250注解,增强了与EJB的集成,并且对其他框架如Struts和Hibernate的整合提供了很好的支持。 SSH框架的集成使用,通常包括以下步骤: 1. **配置环境**:在项目中导入这三个...

    Java web ssh flex OA系统

    项目中的“1全部人通过.rar”可能包含了所有必要的源代码、配置文件和数据库脚本,而“flexOA02”可能是一个特定模块或者更新版本的文件。要运行这个OA系统,你需要解压这些文件,配置相应的环境(如JDK、Tomcat、...

Global site tag (gtag.js) - Google Analytics