Struts2框架入门教程:基本配置与步骤解析
"关于Struts2的使用和配置的笔记" Struts2是一个流行的Java Web应用程序框架,它基于Model-View-Controller(MVC)设计模式,旨在简化开发过程并提供更强大的控制结构。这个框架是在WebWork的基础上构建的,引入了Object-Graph Navigation Language (OGNL)作为其表达式语言,以及FreeMarker作为模板引擎。 Struts2的核心组件与依赖 - Struts2-core:这是Struts2框架的基础,包含所有必要的核心类和接口,负责处理请求、执行动作和传递数据到视图。 - Xwork:WebWork是Struts2的前身,它的核心类库为Struts2提供了许多功能,如类型转换、拦截器、结果类型等。 - OGNL:OGNL是一种强大的表达式语言,用于在Action对象和视图之间传递数据,使得在Action类中设置和获取属性变得简单。 - Freemarker:这是一个模板引擎,允许开发者用简单的文本格式编写动态HTML或其他类型的输出。 - Commons-logging:Apache Commons Logging库,Struts2利用它来支持各种日志记录工具,如Log4j。 - commons-fileupload:用于处理HTTP请求中的文件上传,自Struts2.1.6版本起成为必需的依赖。 Struts2的集成与配置 1. 创建WEB项目:首先,你需要创建一个新的Java Web项目,确保你的开发环境支持Servlet和JSP。 2. 导入Struts2的jar包:将上述提到的库添加到项目的类路径中,这通常包括将它们放入WEB-INF/lib目录下。 3. 配置web.xml:在项目的`web.xml`文件中,你需要配置Struts2的过滤器,以便它能够拦截所有请求并进行处理。早期版本中,使用`FilterDispatcher`,但在较新的版本中,应使用`StrutsPrepareAndExecuteFilter`。配置示例如下: ```xml <web-app 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-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> </web-app> ``` Struts2的MVC模式 在Struts2中,MVC模式的实现如下: - Model:通常由Action类组成,它们处理业务逻辑,并通过OGNL与视图和控制器交互。 - View:视图由FreeMarker或其他模板技术如JSP创建,展示数据并呈现用户界面。 - Controller:控制器由`StrutsPrepareAndExecuteFilter`实现,它接收请求,解析Action配置,调用相应的Action,然后根据Action的结果选择合适的视图进行渲染。 创建Action类和配置Action Struts2的动作类通常是实现了`com.opensymphony.xwork2.Action`接口或其子接口的类。你需要定义方法来处理特定的用户请求,并在这些方法上使用注解或XML配置来指定结果视图。 例如,一个简单的Action类可能如下所示: ```java public class HelloWorldAction extends ActionSupport { private String message; public String execute() { message = "Hello, World!"; return SUCCESS; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } ``` 然后,你可以在`struts.xml`配置文件中定义这个Action及其结果: ```xml <struts> <package name="default" namespace="/" extends="struts-default"> <action name="helloWorld" class="com.example.HelloWorldAction"> <result name="success">/helloWorld.jsp</result> </action> </package> </struts> ``` 在上述配置中,当用户访问`/helloWorld.action`时,`execute()`方法会被调用,返回`SUCCESS`,然后Struts2会查找并显示`/helloWorld.jsp`页面。 Struts2提供了一个强大且灵活的架构,用于构建结构清晰、易于维护的Java Web应用。通过其MVC模式和丰富的插件系统,开发者可以高效地处理请求、管理业务逻辑和呈现用户界面。
![](https://csdnimg.cn/release/download_crawler_static/4188787/bg4.jpg)
剩余15页未读,继续阅读
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 20
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 构建Cadence PSpice仿真模型库教程
- VMware 10.0安装指南:步骤详解与网络、文件共享解决方案
- 中国互联网20周年必读:影响行业的100本经典书籍
- SQL Server 2000 Analysis Services的经典MDX查询示例
- VC6.0 MFC操作Excel教程:亲测Win7下的应用与保存技巧
- 使用Python NetworkX处理网络图
- 科技驱动:计算机控制技术的革新与应用
- MF-1型机器人硬件与robobasic编程详解
- ADC性能指标解析:超越位数、SNR和谐波
- 通用示波器改造为逻辑分析仪:0-1字符显示与电路设计
- C++实现TCP控制台客户端
- SOA架构下ESB在卷烟厂的信息整合与决策支持
- 三维人脸识别:技术进展与应用解析
- 单张人脸图像的眼镜边框自动去除方法
- C语言绘制图形:余弦曲线与正弦函数示例
- Matlab 文件操作入门:fopen、fclose、fprintf、fscanf 等函数使用详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)