简介

这篇文章主要讲如何在eclipse中使用struts2,文章使用的struts2的版本是2.5.2,会与其他的版本有一小点的差别,文章里已经说明。例子的完整源码在文末,亲测没有任何错误。

struts2 下载
官网下载地址

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

这里选择完整的包(Full Distribution)下载。
下载解压后的文件结构如下图:

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

一个简单的例子

这里使用eclipse创建一个简单的HelloWorld例子:
需要的环境
  • tomcat,我使用的tomcat-8.0.37
  • jdk,我使用的是jdk-1.8.101
  • eclipse,我使用的是eclipse neon(4.6.0)
    保证tomcat能够正常运行。

具体步骤
新建一个Web项目,名称为HelloWorld

把struts2中相关的jar包复制到WEB-INF/lib文件夹下,最基础的需要8个jar包:commons-fileupload-1.3.2.jar、commons-io-2.4.jar、commons-lang3-3.4.jar、freemarker-2.3.23.jar、log4j-api-2.5.jar、ognl-3.1.10.jar、struts2-core-2.5.2.jar、javassist-3.20.0-GA.jar
注意:struts2.5之前的版本有点不同,还需要xwork-core.jar,不需要log4j-api.jar。struts2.5把xwork-core.jar合并到了struts2-core.jar中,但是struts2.5如果没有加入log4j-api.jar,tomcat会启动失败,我也不知道为什么。

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

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

Action需要在Struts2的核心配置文件struts.xml中进行配置。因此需要创建struts.xml文件,该文件位于src目录下:

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

启动tomcat,访问http://localhost:8080/HelloWorld/helloworld.action。如果一切Ok,会出现下面的页面。

现在基本的struts2已经配置成功了。
代码如下
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    id="WebApp_ID" version="3.1">
    <display-name>HelloWorld</display-name>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>     <!-- 配置核心拦截器 -->
    <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>
</web-app>

  

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

  

HelloWorldAction.java

 
package com.xiaohuan.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends 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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>success</title>
</head>
<body>
    <h1>恭喜成功配置好基本的struts2环境</h1>
    <h2>Hello World ,This is result.jsp.</h2> </body>
</html>

  

 
本文转自 eclipse中如何使用struts2
http://www.vztribe.com/forum.php?mod=viewthread&tid=48&fromuid=1
(出处: VZ部落—化一切为可能)

eclipse中如何使用struts2的更多相关文章

  1. eclipse中JDK、struts2、Spring、Hibernate源码查看

    一般,我们导入的只有jar文件,所以看不到对于的java文件,如果需要看源码,必须下载对应开源包的源码,一般都是zip文件,比如Spring,下载spring-framework-2.0.8-with ...

  2. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  3. eclipse中配置struts2出现There is no Action mapped for namespace [/] and action name [Login] associated wi

    下午在eclipse中配置struts2时报: There is no Action mapped for namespace [/] and action name [Login] associat ...

  4. Eclipse中调试Jar包的源码(调试Struts2源码)

    首先在Eclipse中创建一个新的项目,加入运行Struts2所需要的JAR文件,并将它们加到项目的CLASSPATH中(在Lisbs中右击 build path 如下图: ),成功后的界面如图 1- ...

  5. eclipse中j2ee(struts2)部署及相关问题释疑

    1.eclipse中进行web项目开发时.部署的时候和利用myeclipse部署时有非常大不同,由于在myeclipse的工具栏中有一个部署button.而且在myeclipse的preference ...

  6. eclipse中SSH三大框架环境搭建<三>

    相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...

  7. eclipse中SSH三大框架环境搭建<二>

    通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...

  8. eclipse中SSH三大框架环境搭建<一>

    这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...

  9. SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)

    这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...

随机推荐

  1. Zookeeper配置文件中的配置项解释和Zookeeper的安装

    zookeeper的默认配置文件为zookeeper/conf/zoo_sample.cfg,需要将其修改为zoo.cfg.其中各配置项的含义,解释如下: 1.tickTime:CS通信心跳时间Zoo ...

  2. Python:快速查找出被挂马的文件

    网站被入侵,担心被挂马,因此就想自己写个脚本来查找那些被挂马的文件 思路 需要实现准备一份未受感染的源代码和一份可能受感染的源代码,然后运行以下脚本,就能找出到底哪些文件被挂马了. 其中,主要是根据比 ...

  3. hadoop2.7的目录结构

    1.$HADOOP_HOME/bin目录下文件及作用 文件名称 说明 hadoop 用于执行hadoop脚本命令,被hadoop-daemon.sh调用执行,也可以单独执行,一切命令的核心 2.$HA ...

  4. Stack Overflow 2016 最新架构探秘

    原文:http://nickcraver.com/blog/2016/02/17/stack-overflow-the-architecture-2016-edition/ 转载:http://www ...

  5. discuz 数据库文件密码修改

    网站系统需要修改的位置有两处 Discuz 和 UC-center ①路径:/wwwroot/config/config_global.php 这个根据你网站安装的路径而定. 打开 config_gl ...

  6. java+selenium+maven+testng框架(一)安装搭建

    1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...

  7. Vue.js基础拾遗

    本篇目录: 模版语法 插值 指令 v-bind指令 v-on指令 计算属性与侦听器 计算属性VS方法 计算属性VS侦听属性 Class与Style绑定 绑定HTML Class 绑定内联样式 条件渲染 ...

  8. map的容量的获取

    在go语言中,有两个内建函数分别是len(),cap(),前者用于获取容器的具体内容个数,后者用于获取容器分配的容量大小,但是这个cap对象是不能获取到map具体分配的容量大小的.有没有办法获取到呢, ...

  9. es-02-elasticsearch安装及遇到的问题

    最近因为工作需要, 又使用到了es, 版本已经从当年的2.4 更新到了6.3 基本上解压即用, elasticsearch 5.x 版本, 在 centos6下, 很多性能不能够发挥, 建议 cent ...

  10. 使用matlibplot.pyplot设置画图的坐标系

    今天看了林轩田老师的感知机算法,心血来潮想要做个可视化过程,以便观察更新的过程. 现将学习成果做个记录,下面是画出来的图,这是初始的状态,后面会通过算法找到一条经过原点的直线将两堆数据分割开来. 直线 ...