返回

struts2快速入门:Struts2快速入门指南

来源:网络   作者:   日期:2025-11-10 13:24:23  

Struts2简介

Struts2是Apache软件基金会推出的一个开源框架,用于开发基于Java的Web应用程序,它基于WebWork框架,并结合了Struts1的核心功能,提供了以下优势:

  • 支持面向切面编程(AOP)和依赖注入(DI);
  • 提供了强大的拦截器机制;
  • 支持RESTful风格的URL;
  • 灵活的标签库和模板引擎集成(如Freemarker、Velocity等)。

环境搭建

在开始编写代码前,我们需要搭建开发环境:

  1. 下载Struts2框架
    Apache官网下载最新版本的Struts2(如Struts 2.5.30)。

  2. 导入依赖库
    将下载的struts2-core-x.x.x.jar以及相关的依赖库(如xwork-coreognl等)添加到项目中,如果你使用Maven或Gradle,可以在pom.xmlbuild.gradle中添加依赖。

    struts2快速入门:Struts2快速入门指南

    Maven依赖示例:

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.30</version>
    </dependency>
  3. 配置Web容器
    使用Tomcat作为Web服务器,创建一个动态Web项目,并在web.xml中配置Struts2的核心过滤器:

    <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>

第一个Struts2程序

下面是一个简单的“Hello World”示例,帮助你快速体验Struts2的基本流程。

struts2快速入门:Struts2快速入门指南

创建Action类

Struts2中的Action是控制器(Controller)的核心,负责处理用户请求并返回结果。

package com.example;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport {
    private String message;
    public String execute() {
        message = "Hello, Struts2 World!";
        return SUCCESS;
    }
    public String getMessage() {
        return message;
    }
}

配置Struts2映射文件

src/main/resources目录下创建struts.xml文件,用于配置Action映射:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="helloWorld" class="com.example.HelloWorldAction">
            <result name="success">/hello.jsp</result>
        </action>
    </package>
</struts>

创建JSP视图页面

WebContent目录下创建hello.jsp,用于展示Action返回的数据:

struts2快速入门:Struts2快速入门指南

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>Hello Struts2</title>
</head>
<body>
    <h1><s:property value="message"/></h1>
</body>
</html>

部署并运行

将项目部署到Tomcat服务器,访问URL:http://localhost:8080/your-project-name/helloWorld.action

如果一切正常,页面将显示:“Hello, Struts2 World!”


Struts2核心组件

Struts2的MVC架构主要由以下组件构成:

  1. Action:处理用户请求,执行业务逻辑,返回结果字符串。
  2. Result:定义Action执行后返回的视图(如JSP、JSON、FreeMarker等)。
  3. Interceptor(拦截器):在请求处理过程中拦截请求,用于实现权限验证、日志记录等功能。
  4. Tag Library(标签库):简化JSP页面的开发,如等标签。

Struts2标签库示例

Struts2提供了丰富的标签库,以下是一个登录表单的示例:

<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>Login</title>
</head>
<body>
    <s:form action="login" method="post">
        <s:textfield name="username" placeholder="Username" />
        <s:password name="password" placeholder="Password" />
        <s:submit value="Login" />
    </s:form>
</body>
</html>

Struts2是一个功能强大且灵活的MVC框架,适合开发中大型Java Web应用,通过本文的快速入门,你应该已经掌握了Struts2的基本配置、Action类的编写、结果映射以及标签库的使用,虽然目前更现代的框架如Spring Boot、Play等已经流行,但Struts2仍然是理解MVC设计模式和Web开发流程的重要基础。

希望这篇指南能帮助你顺利入门Struts2!

分类: 编程
责任编辑: 今题网
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。

相关文章:

文章已关闭评论!