`

Struts2的配置和一个简单的例子

 
阅读更多

笔记仓库:https://github.com/nnngu/LearningNotes


简介

这篇文章主要讲如何在 IntelliJ IDEA 中使用 Struts2,文章使用的 Struts2 的版本是2.5.14.1,与其他的版本有一点差别,在文章里已经说明。

环境

IntelliJ IDEA 2017.2.6

jdk1.8.0_101

Tomcat 8.0.38

添加依赖

依赖的 jar 包有如下几个:

commons-fileupload-1.3.3.jar
commons-io-2.5.jar
commons-lang3-3.6.jar
freemarker-2.3.26.jar
log4j-api-2.9.1.jar
ognl-3.1.15.jar
struts2-core-2.5.14.1.jar
javassist-3.20.0-GA.jar

使用 Maven 构建一个项目,并且在 pom.xml 添加如下依赖:

        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.3</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.26-incubating</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.9.1</version>
        </dependency>
        <dependency>
            <groupId>ognl</groupId>
            <artifactId>ognl</artifactId>
            <version>3.1.15</version>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.5.14.1</version>
        </dependency>
        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.20.0-GA</version>
        </dependency>

注意:Struts2.5 与之前的版本有点不同,之前的版本还需要xwork-core.jar。Struts2.5不需要它,因为Struts2.5把xwork的源码合并到了struts2-core中。Struts2.5之前使用logging API,而 Struts2.5 用 log4j API 取代。

在web.xml中配置Struts2框架的核心拦截器StrutsPrepareAndExexuteFilter

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <!--配置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-->
        <url-pattern>/*</url-pattern>
    </filter-mapping>

</web-app>

注意:Filter的完整类名是:org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter

Struts2.5 以前是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

新建一个业务控制类 HelloWorldAction ,继承自com.opensymphony.xwork2.ActionSupport , 内容如下:

package com.nnngu.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
    @Override
    public String execute() throws Exception {
        System.out.println("正在执行的Action");
        // 返回视图 SUCCESS,这是框架定义的
        return SUCCESS;
    }
}

创建好的 Action 类需要在 Struts2 的核心配置文件中进行配置

Struts2 的核心配置文件为struts.xml

<?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">
        <!--访问时使用 localhost:8080/helloworld 访问-->
        <action name="helloworld" class="com.nnngu.action.HelloWorldAction">
            <!--结果集,即action类中 SUCCESS 返回的视图-->
            <result>
                /result.jsp
            </result>
        </action>
    </package>
</struts>

新建一个 result.jsp 文件,用来显示 action 返回的视图

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Action Result</title>
</head>
<body>
<h1>恭喜!成功配置好基本的struts2 环境</h1>
<h2>Hello nnngu!</h2>
</body>
</html>

最后运行项目,在浏览器访问

在浏览器访问 http://localhost:8080/helloworld

展现出来的内容是 result.jsp 的内容。

控制台输出 Action 的打印内容

到此,Struts2 就配置完成了。

Struts2 官方文档:http://struts.apache.org/getting-started/

1
0
分享到:
评论

相关推荐

    struts2简单例子

    这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识。 1. **MVC架构**: MVC模式是软件设计中的一个经典模式,它将应用逻辑分为三个主要部分:...

    struts2的一个简单的例子

    这个"struts2的一个简单的例子"旨在帮助初学者理解并掌握Struts2的核心概念和工作原理。以下是对这个例子的详细解释: 一、Struts2框架概述 Struts2是基于MVC(Model-View-Controller)设计模式的开源框架,它继承...

    一个简单的struts2的手动配置

    Struts2是一个强大的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用程序。它的设计目标是简化开发过程,提供更灵活的控制流,并促进良好的编程实践。手动配置Struts2涉及多个步骤,下面我们将...

    struts2的一个简单登陆例子

    本示例是一个使用MyEclipse6开发的简单Struts2登录应用,旨在帮助初学者了解如何在实际项目中集成和使用Struts2框架。 首先,Struts2的核心是Action类,它负责处理用户请求。在这个登录例子中,我们可能会有一个名...

    struts2配置文件

    Struts2是一个强大的MVC(Model-View-Controller)框架,用于构建企业级的Java Web应用程序。在Struts2框架中,配置文件起着至关重要的作用,它们定义了应用程序的行为和结构。本篇文章将深入探讨Struts2的核心配置...

    配置第一个Struts2的简单登陆程序

    本教程将指导新手配置第一个基于Struts2的简单登录程序。 首先,你需要从Apache Struts的官方网站下载Struts2的软件包。在编写此教程时,最新版本为Struts 2.0.11.2,但请注意,随着时间推移,可能会有新的版本发布...

    struts2 使用Annotation 配置的小例子

    在这个小例子中,我们将深入探讨如何利用Struts2的Annotation配置来构建一个简单的应用。 首先,让我们了解什么是Annotation。在Java中,Annotation是一种元数据,它提供了一种安全的方式向编译器、JVM或者第三方...

    struts2简单实例

    总结,"struts2简单实例"展示了如何使用Struts2框架构建一个简单的学生信息查询功能,涵盖了配置文件、Action实现、数据传输以及视图展示等多个方面,是学习和理解Struts2工作原理的好例子。通过这个实例,开发者...

    struts2的简单例子

    这个"struts2的简单例子"是一个适合初学者理解并实践Struts2框架的基础教程。 首先,我们需要了解Struts2的核心概念: 1. **Action类**:在Struts2中,Action类是业务逻辑的载体,它是控制器层的主要组成部分。一...

    Struts2零配置

    一个简单的零配置Struts2 Action类可能如下所示: ```java package com.example.action; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Result; ...

    struts2入门例子

    实践这个例子,你可以了解到如何设置一个简单的Struts2应用,从而为进一步学习更复杂的特性如国际化、文件上传、异常处理等奠定基础。 总之,Struts2是一个强大的MVC框架,它的核心在于`struts.xml`配置文件,通过...

    struts2简单例子源码

    在这个简单例子中,我们可能会看到在Action类的属性上使用了Struts2的验证注解,如`@Valid`和`@Field`,或者有一个对应的XML验证文件(通常命名为actionName-validation.xml)。这些注解或XML规则定义了字段的验证...

    struts2配置 最简单的小例子

    接着,创建一个简单的`struts.xml`配置文件,它是Struts2的核心配置文件,用于定义动作(Actions)和结果(Results)。 3. **配置Struts2** 在`struts.xml`文件中,我们需要至少定义一个Action,例如: ```xml ...

    Struts2的配置文件的详细说明

    Struts2是一个强大的MVC框架,它通过提供配置文件来管理应用程序的行为,使得开发者能够灵活地定义Action、拦截器和结果映射。本文将深入探讨Struts2的配置文件,特别是`struts.xml`文件中的关键元素和属性。 在...

    Struts2简单实例

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、模块化和高度控制的MVC(模型-视图-控制器)结构的应用程序。它继承了Struts1的优点,并结合了其他框架如WebWork的核心特性,提供了更高效、灵活的...

    struts2官方自带的四个例子

    Tiles是Struts2的一个插件,用于创建复杂的布局和模板。在Tiles示例中,你会看到如何定义和使用Tiles定义,这些定义可以看作是页面模板。Tiles允许你将一个大的页面拆分为多个小的组件,每个组件可以独立设计和重用...

    MyEclipse支持的struts2简单例子

    下面,我们将详细探讨如何在MyEclipse中使用Struts2实现一个简单的登录功能。 首先,我们需要创建一个新的MyEclipse项目,命名为"Prj12",这将作为我们的工作基础。在项目创建完成后,我们需要引入Struts2的依赖库...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts2完整例子

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、结构清晰的MVC(模型-视图-控制器)架构应用。这个“struts2完整例子”压缩包提供了学习和理解Struts2核心概念的实际示例。让我们深入探讨一下...

    Struts 2使用注解配置Action

    Struts 2是一款非常流行的Java Web开发框架,它在MVC设计模式的基础上提供了一套强大的控制器层解决方案。在传统的Struts 2应用中,我们...通过学习和实践这些例子,你可以更好地理解和掌握Struts 2的注解配置技术。

Global site tag (gtag.js) - Google Analytics