必威体育Betway必威体育官网
当前位置:首页 > IT技术

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

时间:2019-07-10 10:48:43来源:IT技术作者:seo实验室小编阅读:84次「手机版」
 

struts2

2019年03月04日更新:javaWeb目前都是用Spring全家桶,如果不是项目要求,不需要再学struts2

** 本文最后更新于<2017年12月06日> Struts2版本号:2.5.14.1**

更新内容:struts2和相关lib的版本号,例子能够正确运行

简介

这篇文章主要讲如何在eclipse中使用struts2,文章使用的struts2的版本是2.5.14.1,

会与其他的版本有一小点的差别,文章里已经说明。例子的完整源码在文末,亲测没有任何错误。

struts2下载

官网下载地址 USTC镜像站下载地址

最新版是2.5.14.1,这个版本的一些jar包与旧版本不太一样,不过变化不大。

具体的变化建议阅读2.5版本的 version-notes

img

图1 struts2下载页面

这里选择完整的包(Full Distribution)下载。

下载解压后的文件结构如下图:

img

图2 struts2文件结构图

APPs中是使用struts2的一些例子,docs是文档,包括帮助文档和api文档,lib是jar包,src中是源码。

一个简单的例子

eclipe

环境

需要的环境

  • tomcat 我使用的是:tomcat-8.0.42
  • jdk > 7 我使用的是:jdk-1.8.0_131<
  • Eclipse 我使用的是:eclipse neon (4.6.2)

首先保证tomcat能够正常运行,关于tomcat的配置这里就不讲了。

详细的步骤

  • 新建一个WEB项目,名为HelloWorld

    在eclipse中建一个普通的WEB项目。保证项目能够运行。

    img

  • 添加相关的jar包

    把需要的jar包从struts2的lib目录复制到WEB-INF/lib文件夹下,最基础的需要8个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

    注意:struts2.5之前的版本有点不同,还需要xwork-core.jar,不需要log4j-api-2.7.jar。原因是struts2.5把xwork的源码

    合并到了struts-core中。struts2.5之前使用logging API,而struts2.5用log4j 2 API取代。

    如果你听从了我的建议,阅读了struts2.5的 version-notes ,你就能知道详细的原因。

    img

    图3 需要的jar包

  • 在web.xml中配置struts2框架的核心控制器StrutsPrepareAndExexuteFilter

    img

    图4 web.xml的配置

    Filter的完整类名struts2.5以前是 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。

    更多改变请阅读 struts2.5 version-notes

  • 在src目录下新建一个业务控制Action类,继承自com.opensymphony.xwork2.ActionSupport,内容如下:

    img

    图5 新建一个Action

  • Action需要在Struts2的核心配置文件中进行配置

    Struts2的核心配置文件为struts.xml,放在src目录下。

    img

    图6 struts.xml内容

    注意struts.xml的放置位置。

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

    img

    图7 result.jsp的内容

  • 最后运行HelloWorld项目,在浏览器访问HTTP://localhost:8080/HelloWorld/helloworld

    最后展现的内容应该是result.jsp的内容。

    img

    控制台输出Action的打印内容

    img

    到这里,struts2就算配置完成了。

涉及的代码

  • web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    
HelloWorld index.jsp
<filter>
    <!-- Filter的名字 -->
    <filter-name>struts2</filter-name>
    <!-- Filter的实现类 struts2.5以前可能有所不同 -->
    <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>
``` - struts.xml ``` <?xml version="1.0" encoding="UTF-8"?> /result.jsp
        </package>
    </struts>
-   HelloWorldAction.java

package cn.xhcoding.action;

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

<%@ page language=“java” contentType=“text/HTML; charset=UTF-8”

pageEncoding=“UTF-8”%>

Action Result

恭喜成功配置好基本的struts2环境

hello world, I am Successful


[本文永久更新地址](http://www.xhcoding.cn/2017-06-08-struts2%E7%9A%84%E9%85%8D%E7%BD%AE%E5%92%8C%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84%E4%BE%8B%E5%AD%90/) 

参考网址:
   struts2官方文档:http://struts.apache.org/docs/
   struts2.5版本改变:http://struts.apache.org/docs/version-notes-25.html

相关阅读

【强烈推荐】一个非常好用的音乐下载网站(可下载音乐到

【强烈推荐】一个非常好用的音乐下载网站(可下载音乐到手机) 进入大版权时代以来,仅在一个app上找到所有歌曲的时代已经一去不返了

顾城 - 我是一个任性的孩子

-----------------------------------------------------------------------------------------------------------------------

一个好产品的三个必要落脚点:刚需、痛点、高频

我曾接触到一句话,对我印象很深,即做产品,必须落脚在刚需、痛点、高频这六个字上,这才算是一个好产品。我是一家IOT创业公司的“多职

iPhone X适配没那么复杂,但也不是看上去这么简单

关于iPhone X适配作者分享了自己的一些心得体会,希望能够给你带来帮助。全世界都在转发iPhone X的测评报告和HIG,我可能没有真的看

一个人的成功不是没有理由的!(人物之楼天城)

昨天,杭州第十四中学请来毕业生楼天城,给全体学生做励志讲座,讲高中三年的学习生活和理科思维的培养。讲座前,老师介绍:楼天城同学2004

分享到:

栏目导航

推荐阅读

热门阅读