`
scorpiomiracle
  • 浏览: 263523 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

SSH整合系列1--配置Struts2.1.8.1,并测试第一个action

阅读更多
系统平台:
Struts:2.1.8.1
Spring:3.0.3
Hibernate:3.5.2
tomcat:6.0.26
MyEclipse:7.5


Ⅰ.配置Struts2.1.8.1:
1.下载最新的Struts2.1.8.1
2.建立web工程wdpweb
3.引入必须包
4.在web.xml中配置FilterDispatcher过滤器
5.配置struts.xml

1.下载最新的Struts2.1.8.1
Struts作为Apache的一个项目,当然是去Apache的官网下载。这里提到一本书,是官网推荐的《Stating Struts2》,并有中文版下载《深入浅出Struts2》,可以在Struts2首页面的Documentation栏目进行下载(下载前需要注册),对于学习和使用Struts2非常有帮助。

2.建立web工程wdpweb

3.引入必须包
将Struts2.1.8.1中lib文件夹下的六个jar包:
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ongl-2.7.3.jar
struts2-core-2.1.8.1.jar
xwork-core-2.1.6.jar
拷贝到web工程中的/WEB-INF/lib目录中。

说明:在以前,一般只需要后五个jar包,但是在2.1.8.1版本中,如果没有commons-fileupload-1.2.1.jar,tomcat启动会报如下错误:
2010-3-10 16:28:31 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/D:/apache-tomcat-5.5.27/apache-tomcat-5.5.27/webapps/wdpweb/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
	……
Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/D:/apache-tomcat-5.5.27/apache-tomcat-5.5.27/webapps/wdpweb/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
	……
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
	……
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
	……
2010-3-10 16:28:31 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter Struts2
Unable to load configuration. - bean - jar:file:/D:/apache-tomcat-5.5.27/apache-tomcat-5.5.27/webapps/wdpweb/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
	……
Caused by: Unable to load configuration. - bean - jar:file:/D:/apache-tomcat-5.5.27/apache-tomcat-5.5.27/webapps/wdpweb/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
	……
Caused by: Unable to load bean: type:org.apache.struts2.dispatcher.multipart.MultiPartRequest class:org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest - bean - jar:file:/D:/apache-tomcat-5.5.27/apache-tomcat-5.5.27/webapps/wdpweb/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:47:178
	……
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/fileupload/RequestContext
	……
Caused by: java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
	……
2010-3-10 16:28:31 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2010-3-10 16:28:31 org.apache.catalina.core.StandardContext start
严重: Context [/wdpweb] startup failed due to previous errors


4.在web.xml中配置FilterDispatcher过滤器
FilterDispatcher是一个servlet过滤器,它是Struts2整个Web应用的配置项,需要在“web.xml”中进行配置。
代码如下:
	<filter>
		<!-- filter-name可以自定义,但是要保证与下面filter-mapping中的filter-name一致 -->
		<!-- 这样才保证了filter和filter-mapping的一一对应 -->
		<filter-name>Struts2</filter-name>
		<!-- 这个核心拦截器FilterDispatcher可以在struts2-core包中轻松找到 -->
		<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>Struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
	<!-- FilterDispatcher -->


5.配置struts.xml
在 src 目录下新建 struts.xml 文件,注意不是 WEB-INF目录!
书写DTD:可以从struts2 core包中的 struts-default.xml 文件中将DTD拷贝出来
<!-- DTD:文档类型定义(Document Type Definition) -->
<!-- XML的文档类型定义。提供了XML文件中各个元素所使用结构信息 -->
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">


然后在<struts></struts>这个大标签中书写package标签:
	<!-- name:package的唯一标示,自定义;
	extends:指明本package所继承的包,一般继承struts-default.xml;
	namespace:命名空间提供了从URL到Package的映射 
	-->
	<package name="Struts2" extends="struts-default" namespace="/">
		<!-- action -->
	</package>

其中,namespace指明了程序发布后,在url中的映射路径,如:
namespace="/",浏览器路径:http://localhost:8080/wdpweb/***.action
namespace="/pak1",浏览器路径:http://localhost:8080/wdpweb/pak1/***.action
namespace="/pak2",浏览器路径:http://localhost:8080/wdpweb/pak2/***.action

Ⅱ.第一个action
1.配置action
2.创建JSP文件 HelloWorld.jsp
3.创建 HelloWorld.java

1.配置action
在struts.xml的package标签中,编写如下action
		<!-- hello action -->
		<action name="helloworld" class="com.hust.wdp.helloworld.HelloWorld">
			<result>/WEB-INF/HelloWorld.jsp</result>
		</action>


2.创建JSP文件 HelloWorld.jsp
在WEB-INF目录下创建HelloWorld.jsp,要使用Struts标签,就必须引入标签库,在文件开头编写:
<%@ taglib prefix="s" uri="/struts-tags"%>

html的body内容为:
  <body>
    Hello World! This is the first JSP page!<br>
    <br/>
    <s:property value="message"/>
  </body>


3.创建 HelloWorld.java
在包路径com.hust.wdp.helloworld下,创建HelloWorld.java。代码如下:
package com.hust.wdp.helloworld;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorld extends ActionSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = 5351576682976847552L;
	private String message = "Hello World! Struts2 is taking function!";

	@Override
	public String execute() throws Exception {
		// TODO Auto-generated method stub
		this.setMessage(message);
		return SUCCESS;
	}

	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
}


4.测试
在MyEclipse中启动tomcat,在浏览器中输入http://localhost:8080/wdpweb/helloworld.action (可以不写 .action),即看到如下结果:
Hello World! This is the first JSP page!
Hello World! Struts2 is taking function!
说明:在浏览器地址中的wdp为项目名称,因为tomcat会将所有web工程部署在自身的webapps目录下,所以url中应当出现“/wdpweb”路径,如果在上面的package标签中定义了namespace,则需在url中出现“/wdpweb/namespace”。


2
0
分享到:
评论

相关推荐

    compass-2.2.0+hibernate-3.2+struts-2.1.8.1+spring-framework-2.5.4

    标题 "compass-2.2.0+hibernate-3.2+struts-2.1.8.1+spring-framework-2.5.4" 指的是一个集成开发环境,它结合了四个关键的技术组件:Compass、Hibernate、Struts 2 和 Spring Framework,这些都是Java Web开发中的...

    Struts2.1.8.1相关的Struts+Spring+Hibernate包

    Struts2.1.8.1、Hibernate3和Spring是Java Web开发中三大核心框架的组合,被广泛用于构建高效、可维护的企业级应用程序。这个压缩包文件"ssh_jars"很可能包含了这三个框架的库文件,供开发者在项目中引用。 **...

    SSH框架集成流程

    SSH框架,即Struts、Spring和Hibernate三个开源框架的组合,是Java Web开发中的一种流行架构。本文将详细介绍SSH框架的集成流程,包括所需jar包的下载与配置、各框架之间的整合步骤,以及关键配置文件的设置。 ####...

    ssh整合超详细步骤.txt

    根据提供的文件信息,我们可以深入探讨如何整合Struts2、Spring以及Hibernate这三种技术,并通过具体的步骤来进行详细解析。 ### Struts2、Spring、Hibernate整合详解 #### 一、概述 Struts2、Spring与Hibernate是...

    框架jar包大全(SSH)

    标题中的"框架jar包大全(SSH)"指的是三个流行的Java Web开发框架:Struts2、Spring和Hibernate的集合,这些框架的jar包集合通常被称为SSH整合。这个描述表明提供了一个包含所有SSH框架所需的jar包的压缩文件,使得...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回...

    SSH整合的JAR包

    SSH整合是指将Spring、Struts2和Hibernate这三个开源框架集成在一起,用于构建高效、稳定的企业级Web应用程序。这些框架分别负责不同的职责:Spring提供依赖注入和管理,Struts2处理MVC模式,而Hibernate则专注于...

    SSH整合jar包

    `struts2-core-2.1.8.1.jar`是Struts2的核心库,它包括了Action、Result、Interceptor等关键组件,使得开发者可以通过配置XML文件或注解来定义应用程序的行为。`xwork-core-2.1.6.jar`是Struts2的基础,它提供了动作...

    OA项目SSH整合框架

    1,对于集合属性,默认是lazy="true"的,在第一次使用时才加载。 2,但在加载时,如果Session已经关掉了就会抛LazyInitializationException异常 二,集成 Spring 与 Struts2.1.8.1 1,在web.xml配置监听器...

    SSH 整合jar包

    SSH整合是指将Spring、Struts2和Hibernate这三个流行的开源框架集成在一起,用于构建高效、灵活的企业级Web应用程序。这些框架分别负责控制层、业务逻辑层和数据持久化层的功能,SSH整合可以提供一个完整的MVC...

    ssh的chm帮助文档

    SSH,全称Struts2、Spring和Hibernate,是Java开发中的一个经典技术栈,用于构建高效、可维护的Web应用程序。这些技术分别负责MVC框架、依赖注入与面向切面编程以及持久化层的管理。这里提到的"ssh的chm帮助文档...

    SSH三大框架搭建很基础完整.pdf

    在这个过程中,我们将详细介绍如何一步步搭建一个基于SSH的Web项目。 首先,我们需要配置数据源。在MyEclipse中,通过右键新建数据源,选择相应的数据库驱动(例如Oracle Thin Driver),并正确填写连接信息,包括...

    ssh2单元测试action的例子

    这份文档将涵盖以下几个关键知识点:Maven依赖配置、Struts2配置、Spring集成以及具体的Action类实现和测试方法。 ### Maven依赖配置 为了进行SSH2框架内的单元测试,我们需要在项目的`pom.xml`文件中添加必要的...

    SSH集成框架相关jar包及XML配置文件

    `struts2-core-2.1.8.1.jar`是Struts2的核心库,包含了Struts2框架的大部分功能,如拦截器、插件机制、Action处理等。 `mysql-connector-java-5.1.8-bin.jar`是MySQL的JDBC驱动,用于连接MySQL数据库。在SSH框架中...

    一个S2S+ibatis一个增删改查的例子(由原先SSH2改编)

    1. **Struts2框架**:Struts2是Apache软件基金会的一个开源项目,它整合了WebWork的核心功能和Struts1的优点,提供了更强大的MVC支持。在这个例子中,Struts2作为控制器,负责接收用户请求,解析请求参数,并调用...

    SSH开发所需的jar包4

    SSH开发是Java Web开发中的一个经典组合,由Spring、Struts2和Hibernate三大框架组成,它们协同工作,提供了一个高效、灵活且强大的企业级应用解决方案。以下是对标题和描述中涉及的各个jar包的详细解释: 1. **...

    图解ssh基础搭建

    SSH框架的版本选择应保持一致,例如Struts 2.1.8.1、Spring 3.1.1和Hibernate 3.3.1。如果需要,可以通过Maven或Ivy来下载相关jar包。 2. **创建Web项目**:在MyEclipse中新建一个Java EE 5.0的Web项目,命名为...

    SSH2整合jar包

    SSH2(Struts2、Spring、Hibernate)是一个经典的Java Web开发框架组合,它结合了Struts2的MVC设计模式,Spring的依赖注入和事务管理,以及Hibernate的对象关系映射能力,大大简化了企业级应用的开发流程。...

Global site tag (gtag.js) - Google Analytics