【第1步】 安装Struts2
这一步对于Struts1.x和Struts2都是必须的,只是安装的方法不同。Struts1的入口点是一个Servlet,而Struts2的入口点 是一个过滤器(Filter)。因此,Struts2要按过滤器的方式配置。下面是在web.xml中配置Struts2的代码:
<display-name>struts 2.0</display-name>
<!-- 定义structs2的FilterDispatcher的Filter -->
<filter>
<!-- 定义核心Filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心Filter的实现类 -->
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- FilterDispatcher用来初始化Structs并且处理所有的web请求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
【第2步】 编写Action类
这一步和Struts1.x也必须进行。只是Struts1.x中的动作类必须从Action类中继承,而Struts2.x的动作类需要从 com.opensymphony.xwork2.ActionSupport类继承。
动作类的一个特征就是要覆盖execute方法,只是Struts2的execute方法没有参数了,而 Struts1.x的execute方法有四个参数。而且execute方法的返回值也不同的。Struts2只返回一个String,用于表述执行结果 (就是一个标志)。
【第3步】 编写ActionForm类
在Struts1.x中,必须要单独建立一个ActionForm类(或是定义一个动作Form),而在 Struts2中ActionForm和Action已经二合一了
【第4步】 配置Action类
这一步struts1.x和struts2.x都是必须的,只是在struts1.x中的配置文件一般叫struts-config.xml(当然也可以 是其他的文件名),而且一般放到WEB-INF目录中。而在struts2.x中的配置文件一般为struts.xml,放到WEB- INF"classes目录中。下面是在struts.xml中配置动作类的代码:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
< struts>
<package name="struts2" namespace="" extends="struts-default">
<action name="******" class="package.class">
<result name="success">/success.jsp</result>
<result name="failure">/failure.jsp</result>
</action>
</package>
< /struts>
在<struts>标签中可以有多个<package>,第一个<package>可以指定一个 Servlet访问路径(不包括动作名),如“/mystruts”。extends属性继承一个默认的配置文件“struts-default”,一般 都继承于它,大家可以先不去管它。<action>标签中的name属性表示动作名,class表示动作类名(自己编写的类)。
< result>标签的name实际上就是execute方法返回的字符串,如果返回的是“positive”,就跳转到 success.jsp页面,如果是“negative”,就跳转到failure.jsp页面。在<struts>中可以有多 个<package>,在<package>中可以有多个<action>。我们可以用如下的URL来访问这个动 作:
http://localhost:8080/struts2/mystruts/sum.action
注:Struts1.x的动作一般都以.do结尾,而Struts2是以.action结尾。
【第5步】 编写用户录入接口(JSP页面)
1. 主界面(login.jsp)
在Web根目录建立一个login.jsp,代码如下:
<body>
<form action="login.action" >
username:<input type="text" name="username"/><br>
password:<input type="text" name="password"/><br>
<input type="submit" value="submit"/>
</form>
</body>
2. success.jsp
< %@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示成功</title>
</head>
<body>
this is successful
</body>
</html>
3. failure.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>显示失败</title>
</head>
<body>
this is failure
</body>
</html>
相关推荐
这个“Struts2实例3源码”压缩包很可能是为了帮助开发者理解并实践Struts2框架的用法,通过具体的代码示例来学习其核心概念和功能。 Struts2的核心特性包括: 1. **Action和Result**:在Struts2中,Action是处理...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache...以上就是Struts2实例工程中涉及的关键知识点,通过学习和实践这些内容,开发者可以更好地理解和运用Struts2框架来开发高效、稳定的Java web应用。
本实例“Struts2实例4”旨在深入探讨和展示Struts2框架的实际应用,帮助开发者理解如何在项目中有效地利用其功能。 在Struts2框架中,我们首先需要了解的是其核心概念——Action类。Action类是业务逻辑的载体,负责...
在本实例中,我们将深入探讨如何使用Java来编写一个Struts2应用。 首先,让我们了解Struts2的核心概念: 1. **Action类**:在Struts2中,业务逻辑通常由Action类执行。Action类是Java类,它实现了`...
本实例“Struts2实例5”旨在深入理解和应用Struts2的核心特性,帮助开发者更加熟练地使用该框架进行项目开发。下面我们将详细探讨Struts2的相关知识点。 1. **Struts2框架基础** Struts2是Apache软件基金会的一个...
这个“Struts2实例代码”压缩包提供了具体的实现示例,帮助开发者理解并掌握Struts2框架的使用。 在实际应用中,Struts2框架提供了一种组织应用程序结构的方式,它简化了HTTP请求与业务逻辑之间的映射,使得开发者...
在这个实例中,我们将深入探讨Struts2的核心概念、配置以及如何创建一个简单的应用程序。 首先,理解Struts2的核心理念至关重要。Struts2框架通过提供一系列拦截器(Interceptor)来处理HTTP请求,这些拦截器按照预...
这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...
### Struts2 实例 HelloWorld 知识点解析 #### 一、概述 在学习Struts2框架时,通常会从最简单的“Hello World”实例开始。这种实例不仅可以帮助初学者快速上手,还能让大家对Struts2的工作原理有一个基本的理解。...
在这个“Struts2实例3”的主题中,我们将深入探讨Struts2的核心特性、工作原理以及如何通过实际操作来应用这些概念。下面,我们将详细讨论Struts2的关键知识点。 1. **Struts2架构**: Struts2框架基于拦截器...
Struts2是一个强大的Java web应用程序框架,用于构建和部署可维护、高性能的MVC(Model-View-...文档“struts2struts2实例和详细介绍.doc”应该会提供更详细的指导和示例代码,帮助你深入理解和运用Struts2框架。
通过深入研究这个“struts2实例源码2”,开发者不仅可以理解Struts2框架的基本工作原理,还能学习到如何在实际项目中应用这些概念,提高开发效率和代码质量。同时,这也为进一步探索其他高级特性,如AOP(面向切面...
这个"struts2实例源码1"可能是为了演示如何在实际项目中使用Struts2框架。 在Struts2中,以下是一些核心概念和关键知识点: 1. **Action类**:Action类是处理用户请求的核心组件。每个Action类通常对应于一个特定...
在这个“Struts2实例小程序1”中,你将开始接触并理解Struts2的基本概念和工作流程,这对于初学者来说是一个很好的起点。 1. **Struts2入门**: - **MVC模式**:Struts2遵循MVC设计模式,将业务逻辑、数据和展示...
这个"struts2实例.zip"压缩包包含了Struts2框架的实际应用代码,旨在帮助开发者理解和掌握Struts2的核心功能和工作原理。下面将详细阐述Struts2的关键特性以及在实际开发中的应用。 1. **MVC架构**:Struts2基于...
在本实例"Struts2实例 BBS"中,我们将深入探讨如何使用Struts2实现一个基本的论坛系统,该系统具备增删改查(CRUD)功能,且不包含冗余或无效代码。以下是对这一实例的详细分析: 首先,我们来看看Struts2框架的...
struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例struts2简单应用实例
在这个"PageOffice MVC Struts2实例"中,我们将探讨如何利用PageOffice控件在Struts2框架下实现Office文档的在线编辑与保存功能。 PageOffice是一款强大的Java办公组件,它可以无缝集成到各种Java应用中,支持用户...