前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Struts2的配置和一个简单的例子

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

作者头像
nnngu
发布2018-03-15 16:07:50
6750
发布2018-03-15 16:07:50
举报
文章被收录于专栏:nnngunnngu

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 包有如下几个:

代码语言:javascript
复制
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 添加如下依赖:

代码语言:javascript
复制
        <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

代码语言:javascript
复制
<?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 , 内容如下:

代码语言:javascript
复制
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

代码语言:javascript
复制
<?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 返回的视图

代码语言:javascript
复制
<%@ 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/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Struts2的配置和一个简单的例子
    • 简介
      • 环境
        • 添加依赖
          • 依赖的 jar 包有如下几个:
          • 使用 Maven 构建一个项目,并且在 pom.xml 添加如下依赖:
        • 在web.xml中配置Struts2框架的核心拦截器StrutsPrepareAndExexuteFilter
          • 新建一个业务控制类 HelloWorldAction ,继承自com.opensymphony.xwork2.ActionSupport , 内容如下:
            • 创建好的 Action 类需要在 Struts2 的核心配置文件中进行配置
              • 新建一个 result.jsp 文件,用来显示 action 返回的视图
                • 最后运行项目,在浏览器访问
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档