Struts2.0初学者教程:运行环境与第一个程序
需积分: 0 171 浏览量
更新于2024-09-20
收藏 83KB DOC 举报
"Struts2.0笔记"
Struts2.0是一个流行的开源MVC框架,用于构建基于Java的企业级Web应用程序。本笔记主要涵盖了在MyEclipse6.0集成开发环境中配置Struts2.0运行环境以及创建并运行一个简单的Struts2.0程序的步骤。
首先,我们需要配置MyEclipse中的JDK。在`Preference` -> `Java` -> `Installed JREs`中,填入JDK的安装路径,确保开发环境支持Java编程。接着,配置Tomcat服务器,进入`ApplicationServers`,选择Tomcat并填写完整的Tomcat安装路径。在Tomcat的JDK选项中选择已配置的JDK版本,并将Tomcat的`Launch`属性设置为`runmode`,以便在MyEclipse中顺利运行。
开发Struts2.0应用时,需要引入一系列的JAR包,包括:
1. Commons-logging-1.0.4:提供日志服务支持。
2. Freemarker-2.3.0:FreeMarker是一个模板引擎,用于生成动态HTML或其他格式的文档。
3. Ognl-2.6.11:Object-Graph Navigation Language,用于表达对象图导航的表达式语言。
4. Struts2-core-2.0.11:Struts2的核心库,包含主要的框架组件。
5. Xwork-2.0.4:XWork是Struts2的基础,提供了Action和Interceptor等核心概念。
接下来,我们创建一个简单的运行程序。开始时,创建一个JSP页面,表单中`action`属性设为"login.action",这是Struts2.0的特定写法,表明表单提交后将调用名为"login"的Action。
Action类是Struts2中的关键组件,它是一个普通的Java类,通常与业务逻辑相关联。例如,创建一个名为`LoginAction`的类,包含以下代码:
```java
public class LoginAction {
public String execute() throws Exception {
return "success"; // 执行成功后返回字符串"success"
}
}
```
在`src`目录下创建`Struts.xml`配置文件,它是Struts2的配置中心,定义了Action与结果页面之间的映射关系。示例配置如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!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" extends="struts-default">
<action name="login"
class="com.text.action.LoginAction"> <!-- 对应表单中的action属性 -->
<result>/Result.jsp</result> <!-- 表示执行完action后跳转到的页面 -->
</action>
</package>
</struts>
```
最后,配置`web.xml`文件,设置Struts2的Filter。Struts2通过Filter来拦截请求并进行处理:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
至此,一个基本的Struts2.0应用程序就搭建完成了。当用户提交表单时,Struts2框架会根据`Struts.xml`中的配置调用`LoginAction`,执行`execute()`方法,然后返回结果页面`/Result.jsp`。在整个过程中,Struts2的核心功能包括Action映射、结果转发、依赖注入以及强大的拦截器机制,使得开发者可以方便地实现业务逻辑和视图的分离,提高了代码的可维护性和可扩展性。
2019-07-13 上传
2010-04-05 上传
2008-01-30 上传
2023-05-13 上传
2023-09-16 上传
2023-09-02 上传
2024-09-15 上传
2024-09-04 上传
2023-08-01 上传
普通网友
- 粉丝: 2101
- 资源: 806
最新资源
- 磁性吸附笔筒设计创新,行业文档精选
- Java Swing实现的俄罗斯方块游戏代码分享
- 骨折生长的二维与三维模型比较分析
- 水彩花卉与羽毛无缝背景矢量素材
- 设计一种高效的袋料分离装置
- 探索4.20图包.zip的奥秘
- RabbitMQ 3.7.x延时消息交换插件安装与操作指南
- 解决NLTK下载停用词失败的问题
- 多系统平台的并行处理技术研究
- Jekyll项目实战:网页设计作业的入门练习
- discord.js v13按钮分页包实现教程与应用
- SpringBoot与Uniapp结合开发短视频APP实战教程
- Tensorflow学习笔记深度解析:人工智能实践指南
- 无服务器部署管理器:防止错误部署AWS帐户
- 医疗图标矢量素材合集:扁平风格16图标(PNG/EPS/PSD)
- 人工智能基础课程汇报PPT模板下载