`
greatghoul
  • 浏览: 147141 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Struts2之Hello World | #struts2

阅读更多
Struts2官方推荐教程Vaan Nila's Struts 2 TutorialStruts 2 Hello World Tutorial一节是Struts2极好的入门文章,很适合我们这些新人学习。

该文章以一个简单的Hello World应用为便,向我们展示了struts2的魅力。

该例的流程非常简单:用户输入姓名后提交,在新的页面中显示问候语。

使用Struts二编写这个Hello World,需要如下步骤:

  1. 创建Web工程并添加struts包
  2. 配置过滤器
  3. 配置struts.xml
  4. 编写action和视图
  5. 布署运行


1. 创建web工程并添加struts包

新建一个web工程Struts2Tutorial,在WEB-INFlib文件夹下加入

  • struts2-core-2.1.8.1.jar
  • xwork-core-2.1.6.jar
  • freemarker-2.3.15.jar
  • commons-logging-1.0.4.jar
  • commons-fileupload-1.2.1.jar
  • ognl-2.7.3.jar


2. 配置过滤器

打开web.xml文件,添加过滤器定义如下:
<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>


过滤器FilterDispatcher是Struts2的核心,最常见的用途就是将用户请求转发到不同的Action执行,并返回执行结果给用户。

一般情况下,FilterDispatcher的url-pattern必须匹配所有用户请求。

见:http://struts.apache.org/2.1.6/struts2-core/apidocs/org/apache/struts2/dispatcher/FilterDispatcher.html
引用
IMPORTANT: this filter must be mapped to all requests. Unless you know exactly what you are doing, always map to this URL pattern: /*


3. 配置struts.xml

struts.xml文件用于配置Action,该文件默认应放置在工程的classpath下面,如src文件夹下,当工程编译后部署后,程序访问的其实是WEB-INF/classes/struts.xml文件。

struts.xml的dtd文件可以在struts2-core-2.1.8.1.jar的根目录下找到。

struts.xml配置如下:
<?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="default" extends="struts-default">
		<action name="helloworld" class="dive.into.struts2.HelloWorld">
			<result name="SUCCESS">/success.jsp</result>
		</action>
	</package>
</struts>


其中pack标签声明了一个默认的包default,它继承了struts的默认配置struts-default。

action标签建立了一个名为helloworld的Action,我们可以通过/helloworld.action访问它。

result标签定义了一个名SUCCESS的执行结果,它指向/success.jsp页面。

4. 编写action和视图

建立类dive.into.struts2.HelloWorld类,这是一个Action,但事实上你不用继承什么类或者实现什么接口,只需要让它符合以下规则即可:

  一个返回值为String类型的public方法execute()
 
  其返回值会用于识别struts.xml该Action下的result标签,从而决定跳转的地址。
 
  一组属性及其setter和getter,如果必要的话
 
  该属性可以在jsp页面的struts标签直接访问,非常方便。

HelloWorld.java
package dive.into.struts2;

public class HelloWorld {
	private String userName;
	private String message;
	
	public String execute() {
		setMessage("Hello, " + getUserName());
		return "SUCCESS";
	}
	
	public String getUserName() {
		return userName;
	}
	
	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	public String getMessage() {
		return message;
	}
	
	public void setMessage(String message) {
		this.message = message;
	}
	
}


index.jsp
<%-- 使用Struts2标签库 --%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World :: Struts2</title>
</head>
<body>

<%-- 创建一个提交地址为名为helloworld的Action的表单 --%>
<s:form action="helloworld">
	
	<%-- 
	创建一个文本域,表单提交后,该文本域的值会自动填充到
	helloworld对应的Action对象的userName属性上
	--%>
	<s:textfield name="userName" label="User Name"/>
	
	<%-- 创建一个提交按钮 --%>
	<s:submit/>
</s:form>
</body>
</html>


success.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World :: Struts2</title>
</head>
<body>
<h1>
<%-- 
该页面由helloworld跳转而来
此标签将会显示helloworld实例的message属性的值。 
--%>
<s:property value="message"/>
</h1>
</body>
</html>


5. 布署运行

在tomcat中布置工程并通过http://localhost:8080/Struts2Tutorial
分享到:
评论

相关推荐

    基于struts2的hello world输出

    在我们的例子中,`HelloWorld.jsp`可能只是一个简单的JSP页面,显示"Hello World": ```jsp ;charset=UTF-8" language="java" %&gt; &lt;title&gt;Hello World &lt;h1&gt;&lt;s:property value="message"/&gt; ``` 这里,`...

    struts2的helloworld例子

    这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...

    学Struts2从HelloWorld示例开始

    从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...

    struts2 helloworld

    "Struts2 HelloWorld"是学习Struts2框架的基础教程,通过这个例子,我们可以了解Struts2的基本配置和工作流程。 首先,让我们从项目结构开始。在"struts2_helloWorld"压缩包中,通常会包含以下几个关键文件: 1. *...

    用Maven构建Struts2的HelloWorld

    在本教程中,我们将深入探讨如何使用Maven来构建一个基本的Struts2 HelloWorld应用。 首先,我们需要确保已经安装了Java Development Kit (JDK) 和 Maven。JDK是Java编程的基础,而Maven则用于构建和管理项目。在...

    Struts2 实例 HelloWorld

    ### Struts2 实例 HelloWorld 知识点解析 #### 一、概述 在学习Struts2框架时,通常会从最简单的“Hello World”实例开始。这种实例不仅可以帮助初学者快速上手,还能让大家对Struts2的工作原理有一个基本的理解。...

    Struts2入门之HelloWorld

    本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...

    struts2_HelloWorld代码

    这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...

    HelloWorld 基于struts2框架

    在这个案例中,我们聚焦于基于Struts2框架的“HelloWorld”应用。Struts2是一款强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发,为开发者提供了灵活的控制层结构。 首先,我们需要了解Struts2的...

    Struts2 HelloWorld

    Struts2 HelloWorld 示例详解 Struts2 是一个开源的 MVC(Model-View-Controller)框架,用于构建基于Java的企业级Web应用程序。它继承了Struts1的优点并解决了其存在的问题,提供了更强大的功能和更好的性能。在...

    Struts2 Helloworld 源代码

    这个"Struts2 Helloworld 源代码"压缩包很可能是为了帮助初学者理解Struts2框架的基础工作原理和配置。 在Struts2的Helloworld示例中,我们通常会看到以下几个关键知识点: 1. **环境配置**:首先,你需要一个Java...

    struts2.0开发环境的搭建及HelloWorld的演示

    在MyEclipse中,选择“New”-&gt;“Dynamic Web Project”,并命名为`Struts2_HelloWorld`。创建项目后,需要导入Struts2所需的库文件。进入项目属性设置,选择“Java Build Path”-&gt;“Libraries”-&gt;“Add External ...

    jamesby-struts2-helloworld.rar_3ds nandbo_helloworld_struts2_str

    这个"jamesby-struts2-helloworld.rar"压缩包提供了一个基础的Struts2入门示例,名为“helloworld”,对于初学者了解和学习Struts2的工作原理非常有帮助。 首先,我们来看看"index.jsp"。这通常是一个应用的入口点...

    Struts2的第一个实例helloworld

    在本例中,提供的“Struts2_HelloWorld”压缩包中应该包含了所有必要的库文件,确保项目能够正常运行。 接下来,创建一个简单的Action类。在Struts2中,Action类需要继承自`com.opensymphony.xwork2.ActionSupport`...

    struts2 helloworld程序

    在这个"Struts2 HelloWorld"程序中,我们将深入理解Struts2的基本结构和配置,以及如何创建第一个简单的应用。 首先,让我们从环境搭建开始。为了运行Struts2的HelloWorld程序,你需要安装Java Development Kit ...

    一个struts2的helloworld例子加源码

    在这个"一个struts2的helloworld例子加源码"中,我们将探讨Struts2的基本概念和工作流程,以及如何创建一个简单的Hello, World应用。 首先,了解Struts2框架的核心组件至关重要。Struts2的核心包括Action类、配置...

    Struts2-HelloWorld

    在本教程中,我们将深入探讨Struts2的基础知识,通过一个"Struts2-HelloWorld"实例来演示如何在实际项目中应用Struts2。 首先,让我们了解Servlet。Servlet是Java编程语言中用于扩展服务器功能的接口。它处理HTTP...

    Struts2_HelloWorld例子

    这个"Struts2_HelloWorld"例子是初学者踏入Struts2世界的绝佳起点,它通过一个简单的实例展示了如何在Struts2框架下创建并运行一个基本的Web应用。 首先,我们来看"HelloWorld"的实现过程。在Struts2中,我们通常会...

Global site tag (gtag.js) - Google Analytics