struts 2教程
需积分: 0 178 浏览量
更新于2014-07-03
收藏 59KB DOC 举报
Struts 2是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它简化了开发过程,提供了一种结构化的解决方案。在Java社区中,Struts 2被广泛用于构建企业级Web应用,因为它具有强大的动作类、结果映射、拦截器和插件等功能。
本教程将引导你快速掌握Struts 2的基本概念和实践操作。以下是详细的步骤解析:
1. **新建Web项目**:你需要在IDE中创建一个新的Java Web项目。这通常涉及设置项目结构,包括src目录(存放源代码)、Web-INF目录(存放配置文件)以及Web内容目录(存放静态资源和JSP文件)。
2. **导入Struts 2支持**:为了使用Struts 2,你需要将其库文件(jar包)添加到项目的类路径中。这可以通过下载Struts 2的发行版,或者在IDE的构建路径设置中选择对应的库来实现。
3. **配置web.xml**:在`web.xml`文件中,你需要配置Struts 2的核心过滤器`FilterDispatcher`。这个过滤器负责拦截所有请求,将它们导向Struts 2框架处理。配置代码如下:
```xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
```
4. **编写Java类**:在Java源代码目录下,创建一个Action类,例如`TestAction`,继承自`ActionSupport`类。这个类是业务逻辑处理的入口点,其中包含一个`execute`方法,该方法返回一个字符串,表示执行的结果。例如:
```java
package com.jxc.struts2.test;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
private String test;
public String getTest() { return test; }
public void setTest(String test) { this.test = test; }
@Override
public String execute() throws Exception {
return "success";
}
}
```
5. **配置struts.xml**:在`struts.xml`文件中,定义Action的配置,包括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="jxc" namespace="/" extends="struts-default">
<action name="test" class="com.jxc.struts2.action.TestAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
```
在这个配置中,`test`是Action的名称,`/success.jsp`和`/error.jsp`是不同的结果页面。
6. **在页面中调用**:在JSP页面中,使用Struts 2的标签库(`struts-tags`),创建表单并提交Action。确保表单的`action`属性与`struts.xml`中的配置一致,而表单字段的`name`属性与Action类的属性对应。
```jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<form action="test.action">
请输入内容: <input type="text" name="message">
</form>
```
7. **运行流程**:当用户提交表单时,Struts 2过滤器捕获请求,根据`struts.xml`配置找到对应的Action类,调用`execute`方法执行业务逻辑。如果`execute`返回`"success"`,则显示`/success.jsp`页面;若返回其他值,如`"error"`,则显示`/error.jsp`页面。
在实际开发中,你可以利用Struts 2提供的拦截器、结果类型、动态方法调用等特性来实现更复杂的业务逻辑和页面跳转。此外,还可以通过插件集成Spring、Hibernate等框架,进一步提高开发效率和应用性能。Struts 2的灵活性和可扩展性使其成为Java Web开发的强大工具。

taoyiu123
- 粉丝: 0
最新资源
- 【IOS应用源码】类似HTC ONE x的设计界面上下滑动效果.zip
- 【IOS应用源码】类似mac电脑下面的dock.zip
- 【IOS应用源码】类似于ios内置的图片浏览器的demo.zip
- 【IOS应用源码】类似苹果内置谷歌地图的翻页效果.zip
- 【IOS应用源码】类似于谷歌地图线路搜索的一个组件demo.zip
- 【IOS应用源码】类似于安卓的可以添加或删除主界面的效果demo.zip
- 【IOS应用源码】类似于海豚浏览器,滑动左边可以显示侧边栏导航的效果demo.zip
- 【IOS应用源码】利用OpenGL固定流水线绘制球体OpenGLTest.zip
- 【IOS应用源码】利用OpenCL生成球体顶点 OpenCL_sphere.zip
- 双三相SVPWM(二矢量)空间电压矢量调制技术应用于双三相永磁同步电机与感应电机的矢量控制策略
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md
- maven下载安装与配置教程.md