- 浏览: 62504 次
- 性别:
- 来自: 广州
文章分类
最新评论
2.2 一个简单的HelloWorld
上节介绍了搭建开发Struts 2应用所需要的环境的配置,本节将以一个简单的HelloWorld示例来介绍Struts 2给读者带来的体验。
为了使读者能够更清楚地了解示例的编写过程,示例将采用文本编辑器的方式来开发,这样避免了IDE集成编辑器给读者带来的困扰。开发一个Web应用,要建立符合规范的目录结构,上节中已经对Web应用目录进行了详细的介绍,为了开发HelloWorld应用,读者应该先建立一个目录。笔者建立的顺序如下:
在E盘中建立一个文件夹:E:\myweb。
在此文件夹中建立WEB-INF文件夹。
建立E:\myweb\WEB-INF\classes文件夹。
建立E:\myweb\WEB-INF\lib文件夹。
将Tomcat默认的web.xml文件拷贝到E:\myweb\WEB-INF\目录下,web.xml文件在Tomcat安装目录中的webapps\ROOT\WEB-INF目录下。
使用文本编辑器建立一个struts.xml文件,保存到E:\myweb\WEB-INF\classes目录下。
2.2.1 配置web.xml文件
完成上述步骤后,一个简单的Web目录就完工了,接下来需要修改web.xml文件和struts.xml文件。web.xml文件内容如代码2.4所示。
代码2.4 HelloWorld示例的web.xml
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<!— 配置filter-- >
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<!—拦截所有URL用户请求
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!—配置欢迎界面文件-- >
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
在代码2.4所示内容中,相比原来的内容,增加了<filter>和<filter-mapping>。<filter>指定了需要加载的Struts 2核心控制器org.apache.struts2.dispatcher.FilterDispatcher,而<filter-mapping>使用通配符“/*”来拦截所有的URL请求,保证了用户请求都被Struts 2接收处理。
2.2.2 配置struts.xml文件
编辑struts.xml文件内容,如代码2.5所示。
代码2.5 HelloWorld示例的struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<!—配置struts2-->
<struts>
<!-- 配置包,名称为bookcode -->
<package name="bookcode" extends='struts-default'>
<!-- 配置Action -->
<action name="HelloWorld" class="ch2.helloworld.HelloWorld">
<!-- 配置返回结果 -->
<result name="success">/ch2/helloworld/success.jsp</result>
<result name="error">/ch2/helloworld/error.jsp</result>
</action>
</package>
</struts>
在默认情况下,Struts 2将会自动加载位于WEB-INF\classes目录下的struts.xml配置文件。<package>定义了一个包空间,可以看到,该文件中只配置了一个Action,name为“HelloWorld”,对应的class为“ch2.HelloWorld”,也就是指定WEB-INF\classes\ch2目录下的HelloWorld.class类文件,当然现在还没有这个文件,后面将会编写该文件。
★ 说明 ★
bookcode是本书示例的包名称,该包继承Struts 2框架的默认包struts-default,读者在后面章节将会学习使用extends属性。
另外一个配置就是result,即Action处理后返回给用户的视图资源,从配置中可以看到配置了两个result:success和error,分别对应E:\myweb\ch2目录下的success.jsp和error.jsp,后面也将会建立这两个文件。
本节介绍的HelloWorld的思路是用户在客户端输入一个字符串,由Action判断输入的字符串是否为空,如果不为空,则返回给用户success.jsp页面,并在控制台打印出该字符串;如果用户输入为空,则返回error.jsp页面给用户,提示输入为空。这个流程可以用图2.16来说明。用户输入字符串,发送请求给Struts 2框架的核心控制器FilterDispatcher,FilterDispatcher根据配置,将请求转发给Action,Action是业务控制器,来判断用户输入的内容进行相应的操作。
图2.16 HelloWorld的流程图
2.2.3 Action业务控制器
如图2.16所示,HelloWorld应用中的Action是业务控制器。通过第1章对Struts 2的简单介绍,读者应该知道,Struts 2的Action可以是一个普通的Java类(POJO),与Struts 1有很大的不同,这里的HelloWorld内容如代码2.6所示。
代码2.6 业务控制器HelloWord
public class HelloWorld {
//定义msg属性
private String msg;
//msg的get方法
public String getMsg() {
return msg;
}
//msg的set方法
public void setMsg(String msg) {
this.msg = msg;
}
//Action的execute()处理方法
public String execute() {
//判断条件
if (getMsg().equals("")) {
//显示错误信息
System.out.println("no String input!");
//返回错误结果
return "error";
} else {
//显示用户输入的信息
System.out.println(getMsg());
//返回一个处理成功结果
return "success";
}
}
}
(1)如代码2.6所示,HelloWorld没有继承任何类,也没有实现任何接口,是一个标准的Java类。定义了一个msg属性,对应用户输入的字符串,并提供了msg的get()、set()方法。execute()方法是实现业务控制器的默认方法,该方法只是返回一个String,并没有特别之处。
(2)在execute()方法中,对msg内容进行判断,如果非空,则在控制台打印该字符串,并返回一个“success”字符串,对应代码2.5中的success.jsp页面。
(3)如果msg为空,则在控制台输出一条警告,并返回“error”,对应error.jsp页面。读者会发现,Struts 2中的Action变得简单易懂,很容易对其进行测试。
★ 说明 ★
Struts 2的业务控制器Action是一个普通的Java类。
发表评论
-
OGNL表达式 用法详解
2012-04-19 11:44 9027表达式通常用来访问页面中的各种变量,进行结果输出. s ... -
struts2.2.3最小jar
2011-07-18 11:32 1796struts2-core-2.2.3.jar :Struts ... -
转: struts2 标签 2
2011-07-05 11:41 1551一、概要:1、JSP标签技术始于JSP1.12、作用: ... -
转:struts2 标签
2011-07-05 11:39 932struts标签的继承 BodyTagSuppor ... -
struts.xml文件属性配置
2011-06-24 16:32 1227开发中发现struts还有co ... -
FilterDispatcher配置
2011-06-24 16:30 1355配置Struts 2的FilterDispatcher类时,可 ... -
struts.xml配置详解
2011-06-24 16:29 777地址:http://www.cnblogs.com/fmric ... -
struts.properties配置详解
2011-06-24 16:14 962在Struts2的核心包中org\apache\strut ... -
转:Struts 2 下载文件(12)下
2011-06-22 18:54 883(2)同时修改配置文件,增加一个input逻辑视图,修 ... -
转:Struts 2 下载文件(12)中
2011-06-22 18:53 77111.3.2 在Action中指定下载资源 前面的 ... -
转:Struts 2 下载文件(12)上
2011-06-22 18:52 108411.3 Struts 2控制文件下载 文件下载相对于 ... -
转: Struts 2多文件上传(11)下
2011-06-22 18:51 845(3)在配置文件中增加如下配置: ... -
转: Struts 2多文件上传(11) 上
2011-06-22 18:50 87211.2 多个文件上传 很多应用都要求在一个界面中可以 ... -
转: struts 2专用表达式(10)下
2011-06-22 18:49 9068.2 Struts 2的OGNL OGN ... -
转: struts 2专用表达式(10)上
2011-06-22 18:47 804OGNL是Object Graphic Navigat ... -
转: 数据校验功能-AJAX输入校验(9)下
2011-06-22 18:45 12127.4.4 建立JSP视图 建立一个reg-aja ... -
转: 数据校验功能-AJAX输入校验(9)中
2011-06-22 18:43 8887.4.2 建立业务控制器 建立一个简单的业务 ... -
转: 数据校验功能-AJAX输入校验(9)上
2011-06-22 18:41 9297.4 AJAX输入校验 Struts 2框架在使用客 ... -
转: Struts 2的拦截器(8)下
2011-06-22 18:39 860(3)在ch5包内建立一个业务控制器Reg,如代码5. ... -
转: Struts 2的拦截器(8)上
2011-06-22 18:39 749拦截器(Interceptor)是Struts 2的核 ...
相关推荐
这个HelloWorld程序展示了Struts2的基础工作流程:用户发送请求,Struts2拦截请求并调用相应的动作方法,动作方法执行后返回结果,最后Struts2将结果定向到指定的视图(在这个例子中是JSP页面)。通过这种方式,...
学习"Struts2 HelloWorld"不仅能够帮助初学者理解框架的基本用法,还能让他们对MVC模式有一个直观的认识。在实际开发中,Struts2提供了大量的插件和拦截器,可以实现复杂的业务逻辑和验证,使其成为企业级应用的理想...
Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用,为开发者提供了构建可维护、可扩展的Web应用程序的结构。本实例将引导我们逐步了解如何使用Struts2创建一个简单的“Hello, World!”...
在Struts2中,HelloWorld程序是初学者入门的典型示例,通过这个例子,我们可以了解Struts2的基础架构和核心概念。 1. **MVC模式** MVC模式是软件设计中的一个重要模式,它将业务逻辑、数据和用户界面分离,使得...
本篇文章将带你入门Struts2,通过创建一个简单的"HelloWorld"示例来理解其核心概念。 首先,了解Struts2框架的基本组成: 1. **Action类**:这是业务逻辑的入口点,处理用户请求并返回结果。在我们的"HelloWorld...
在这个"一个struts2的helloworld例子加源码"中,我们将探讨Struts2的基本概念和工作流程,以及如何创建一个简单的Hello, World应用。 首先,了解Struts2框架的核心组件至关重要。Struts2的核心包括Action类、配置...
本教程将详细介绍如何在MyEclipse 6.5.0 GA环境中搭建Struts2.0开发环境并实现一个简单的"HelloWorld"应用。 首先,你需要访问Apache Struts的官方网站(http://struts.apache.org/download.cgi#struts216)下载...
在本教程中,我们将深入探讨如何使用Maven来构建一个基本的Struts2 HelloWorld应用。 首先,我们需要确保已经安装了Java Development Kit (JDK) 和 Maven。JDK是Java编程的基础,而Maven则用于构建和管理项目。在...
Struts2是一个强大的Java web应用程序开发框架,它简化了MVC(模型-视图-控制器)架构的实现,尤其在处理HTTP请求和响应时。在这个"基于Struts2的Hello World输出"中,我们将深入理解如何使用Struts2来创建一个简单...
这个"struts2的helloworld例子"是为初学者准备的一个基础教程,旨在帮助理解Struts2框架的基本工作原理和配置过程。下面将详细阐述这个例子中的关键知识点。 首先,Struts2框架的核心是Action类,它是处理用户请求...
从“HelloWorld”示例开始学习Struts2是一个经典的入门方法,因为它能帮助我们理解框架的基本工作原理。 首先,我们需要创建一个展示信息的JSP文件,即`HelloWorld.jsp`。在这个文件中,我们使用Struts2的标签库,...
在IT行业中,开发一个“HelloWorld”程序是学习新框架的常见起点,它标志着我们对新框架的理解初见端倪。在这个案例中,我们聚焦于基于Struts2框架的“HelloWorld”应用。Struts2是一款强大的MVC(Model-View-...
这个“Struts2 HelloWorld示例”是一个基础的Maven项目,旨在帮助初学者理解如何在实际开发环境中设置和运行一个简单的Struts2应用。 首先,让我们了解Maven。Maven是一个项目管理工具,它通过使用一个项目对象模型...
Struts2HelloWorld是一个经典的入门示例,用于展示Apache Struts2框架的基础使用。Struts2是一个开源的Java web框架,它提供了强大的MVC(Model-View-Controller)设计模式支持,帮助开发者构建结构清晰、可维护性高...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、高效且易于管理的Web应用。这个"Struts2 HelloWorld"示例是初学者学习Struts2框架的基础教程,通过它,我们可以深入理解Struts2的核心概念和工作...
Struts2是一个强大的MVC...总的来说,"Struts2 HelloWorld 例子"是一个学习Struts2框架的良好起点,通过实际操作和理解这个简单的示例,开发者可以快速掌握Struts2的核心机制,并为构建更复杂的Web应用打下坚实基础。
这个"struts2_HelloWorld代码"是初学者了解和学习Struts2的一个基础实践,它展示了如何使用Struts2框架创建一个简单的“Hello, World!”应用程序。 在Struts2中,`Action`类是核心组件,它负责处理用户请求。在这个...
5. **创建视图页面**:在WebContent目录下创建一个名为HelloWorld.jsp的JSP文件,用于展示结果。添加如下代码: ```jsp ;charset=UTF-8" language="java" %> <title>Hello World ${message} ``` ...