helloworld
需积分: 0 165 浏览量
更新于2011-08-22
收藏 3.31MB RAR 举报
Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级Java Web应用程序。这个"HelloWorld"示例将带你逐步了解如何使用Struts2构建一个简单的应用程序,从而掌握其工作流程和基本原理。
让我们从创建一个基本的Struts2项目开始。在Java开发环境中,如Eclipse或IntelliJ IDEA,你需要设置一个Java Web项目,并确保你的项目已配置了Struts2的核心库。这些库通常包括`struts2-core`、`struts2-convention-plugin`以及相关的依赖。
接下来,创建一个名为`HelloWorldAction`的Java类,它会实现`com.opensymphony.xwork2.Action`接口或者继承自`ActionSupport`类。在这个类中,你需要定义一个返回值为字符串的方法,例如`execute()`,该方法将在用户请求时被调用。在`execute()`方法内,你可以编写业务逻辑,比如输出"Hello, World!"。
然后,为了使Struts2框架能够识别并处理这个Action,你需要在项目的`struts.xml`配置文件中声明它。这是一个XML文件,用来配置Struts2的行为。在这个文件中,你会定义Action的名称、类路径、结果页面等。例如:
```xml
<package name="default" namespace="/" extends="struts-default">
<action name="hello" class="com.yourpackage.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
</package>
```
这里,`name`属性指定了Action的名称,`class`属性是Action类的全限定名,`method`属性定义了要执行的方法。`result`元素则指定了当Action执行成功后转向的页面。
接下来,创建一个JSP页面,如`HelloWorld.jsp`,作为结果页面。在这个页面上,你可以使用EL(Expression Language)或JSTL(JavaServer Pages Standard Tag Library)来显示Action返回的数据。例如:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<h1>${message}</h1> <!-- 这里的${message}将会被替换为HelloWorldAction中的属性值 -->
</body>
</html>
```
配置Web应用的`web.xml`文件,以便Struts2过滤器可以拦截并处理请求。添加以下内容:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
现在,当你在浏览器中访问`http://localhost:8080/yourapp/hello`(根据你的实际项目设置),你应该能看到"Hello, World!"的输出。这个例子展示了Struts2的基本工作流程:用户发起请求 -> Struts2过滤器拦截 -> 调用Action方法 -> 处理结果并跳转到指定页面。
通过这个"HelloWorld"示例,你可以了解到Struts2的核心概念,如Action、配置文件、结果页面以及请求处理流程。然而,Struts2的功能远不止于此,还包括国际化、数据验证、拦截器、插件等高级特性,这些都是构建复杂Web应用的重要工具。随着对Struts2的深入学习,你将能够更高效地开发出稳定、可维护的Java Web应用程序。
songcaizi2011
- 粉丝: 0
- 资源: 1
最新资源
- 利用PyCharm和Conda实现GPU加速的深度学习模型实验
- 夜间照片去噪:基于小波分析的模极大值、相关性及阈值去噪法的原理与实例应用.zip
- 中国污水处理厂数据集-更新至2024年.xlsx
- 电机设计仿真 maxwell ansys 五相电机设计
- Android studio 记账管理期末大作业App源码
- 新能源汽车动力经济性能EDQ目标分解SSTS,100多行
- comsol本案例建立成二维轴对称模型,物理场采用两个PDE模块,分别表示水分场和温度场,一个固体力学模块,表示应力场 求解器在求解水热耦合问题中采用瞬态求解器,步长为1h,总时长48h;在求解应力
- comsol案例,水驱油,两相流,石油开发基础案例,一注四采 注水井采油井,开发井网.
- 2_认识实习总结报告撰写模板及要求.docx
- C++毕业设计基于opencv的考勤与信息管理系统源码+文档说明.zip
- COMSOL裂隙动水注浆扩散数值模拟 针对动水注浆中常用的2种速凝浆液,水泥–水玻璃浆液与高聚物改性水泥浆液,考虑浆液黏度时变特性,应用有限元计算软件COMSOL Multiphysics建立动水条
- linux常用命令大全.txt
- linux常用命令大全.txt
- linux常用命令大全.txt
- COMSOL断层突水非线性渗流-应力耦合案例 提供COMSOL流固耦合(岩土+Brinkman流体+蠕动流)案例文件,案例实现了Brinkman流体与蠕动流,岩土力的耦合 供大家交流学习,含参考文献
- 精简版X264视频压缩教程解析-从CLI参数到编码细节