`
在水伊方
  • 浏览: 111053 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Struts2--HelloWorld

 
阅读更多

因为struts2是通过filter启动的,而web.xml配置文件中的StrutsPrepareAndExecuteFilter的init()方法会读取类路径下默认的配置文件struts.xml完成初始化操作,故我们需要首先配置struts.xml文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
	<package name="struts" namespace="/test" extends="struts-default">
		<action name="helloworld" class="cn.struts.demo.HelloWorldAction"
			method="execute">
			<result name="success">/WEB-INF/page/hello.jsp</result>
		</action>
	</package>
</struts>

 

下面对struts.xml配置文件进行说明:

1、struts2框架中使用包来管理Action,包的作用和java中的类包是非常类似的,它主要用于管理一组业务功能相关的action。在实际应用中,我们应该把一组业务功能相关的Action放在同一个包下;

 

 2、配置包时必须指定name属性,该name属性值可以任意取名,但必须唯一,他不对应java的类包,如果其他包要继承该包,必须通过该属性进行引用。包的namespace属性用于定义该包的命名空间,命名空间作为访问该包下Action的路径的一部分,如访问上面例子的Action,访问路径为:/test/helloworld.action namespace属性可以不配置,对本例而言,如果不指定该属性,默认的命名空间为“”(空字符串);

 

3、通常每个包都应该继承struts-default包,因为Struts2很多核心的功能都是拦截器来实现。如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。 struts-default定义了这些拦截器和Result类型。可以这么说:当包继承了struts-default才能使用struts2提供的核心功能。 struts-default包是在struts2-core-2.x.x.jar文件中的struts-default.xml中定义。 struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动加载 struts-default.xml文件;

 

4、包还可以通过abstract=“true”定义为抽象包,抽象包中不能包含action

 

配置文件中的HelloWorldAction如下:

package cn.struts.demo;

public class HelloWorldAction {
	private String message;

	public String getMessage() {
		return message;
	}

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

	public String execute() {
		this.message = "我的第一个struts2应用";
		return "success";  // 对应struts配置文件中result视图
	}

}

 

 

配置文件中的hello.jsp文件如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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>我的第一个struts2应用</title>
</head>
<body>
	<!-- 用el表达式可以获取到action里面的值,此处的message说明action中有一个setMessage()的方法  -->
	${message } 
</body>
</html>

 

至此,我们的应用已开发完成,现在需要访问我们的HelloWorld应用,访问struts2actionURL路径由两部份组成:包的命名空间+action的名称,例如访问本例子HelloWorldActionURL路径为:/test/helloworld (注意:完整路径为:http://localhost:端口/内容路径/test/helloworld)。另外我们也可以加上.action后缀访问此Action。把项目(见附件)部署到tomcat下面,在地址栏中输入http://localhost:8080/strutsdemo/test/helloworld,页面显示       我的第一个struts2应用

 

流程:

1、首先客户端向服务端发出一个请求

2、请求经过StrutsPrepareAndExecuteFilter过滤器,过滤器init()方法会读取类路径下默认的配置文件struts.xml

3、在struts.xml中寻找对应的action,根据访问的路径,此处是name为helloworld的action

4、执行action中的execute(因为action中配的是method="execute")

5、执行execute方法,返回result name="success"的视图,即hello.jsp

6、页面显示    我的第一个struts2应用

 

分享到:
评论

相关推荐

    Struts2-HelloWorld

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

    jamesby-struts2-helloworld.rar_3ds nandbo_helloworld_struts2_str

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

    struts2-json-plugin-2.1.8jar包.zip

    map.put("message", "Hello, World!"); return "success"; // 这里返回"json"即可 } } ``` 当客户端请求以".json"结尾的URL时,Struts2会调用此Action,并将结果以JSON格式响应。 在实际开发中,Struts2 JSON ...

    Struts2-2.1.6一个最简单的例子,以及需要的基础jar包

    在这个例子中,当用户访问`/hello` URL时,`HelloWorldAction`的`execute`方法会被调用,然后重定向到`HelloWorld.jsp`页面。 通过这个简单的示例,我们了解了Struts2的基本工作流程和配置需求。实际开发中,Struts...

    struts2-portlet学习手册

    &lt;description xml:lang="EN"&gt;Simple helloworld portlet ... ``` 此段代码定义了一个名为`HelloPortlet`的Portlet,其中包含了对Portlet的一些基本信息的描述。 #### 六、核心概念 - **MVC架构**:Struts2-...

    Struts2入门使用案例HelloWorld

    "Struts2入门使用案例HelloWorld"是一个典型的教程,旨在帮助初学者快速理解并开始使用Struts2框架。下面我们将深入探讨这个案例涉及的关键知识点。 首先,我们需要创建一个Maven工程。Maven是Java项目管理和构建...

    struts2 helloworld程序

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

    Struts2--环境搭建

    最后,创建视图页面,如`HelloWorld.jsp`,显示结果: ```jsp ; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE html&gt; &lt;title&gt;Hello World! &lt;h1&gt;Hello, World! ``` 至此,一个简单的Struts2环境就搭建...

    用Maven构建Struts2的HelloWorld

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

    struts2 helloworld

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

    struts框架-helloworld

    第一个struts框架的完成,使用eclipse写的。第一次写其实是在半年前,现在再重新写,真是错误连篇,最讨厌的是报404错误。首先检查tomcat部署时,有什么错误,针对性解决,大多是因为jar包多了或者少了。有时,jar包...

    struts2-struts入门

    要创建一个简单的Hello World程序,你需要遵循以下步骤: 1. 导入必要的jar包。这些jar包位于struts-2.3.15.3/apps/struts2-blank/WEB-INF/lib目录下,包含了运行Struts2所需的所有依赖。 2. 创建Action类,这是...

    基于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.0开发环境的搭建及HelloWorld的演示

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

    HelloWorld 基于struts2框架

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

    struts2的helloworld例子

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

    starting-struts2-chinese

    - **第一个Struts 2程序**:编写并运行第一个Hello World应用,了解Action的创建和配置。 - **Action和结果**:深入学习Action的实现,包括结果类型、结果映射等。 - **拦截器**:学习如何使用拦截器进行请求处理,...

Global site tag (gtag.js) - Google Analytics