一、Struts2的获得

Struts2的官网是http://struts.apache.org/,需要的同学可以自己去官网上下载。

二、Struts2的配置

以动态web项目为例,讲解配置Struts2,工具为Eclipse、Tomcat、MySQL。

首先,在Eclipse中创建一个动态web项目;

第二,将下载的Struts2的相关jar包复制到WebContent/WEB-INF/lib下;

第三,配置web.xml;

1.在web.xml中添加Struts2,即在<web-app>和</web-app>中间添加如下代码:

<filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
      </filter>
      <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
      </filter-mapping>

2.在src目录下创建struts.xml文件,并在<struts>和</struts>中间添加如下代码:

<package name="uploadName" extends="struts-default">
            <action name="upload" class="com.zhaolan.heart.UpLoad">
                  <result name="error">/error.jsp</result>
                  <result name="success">/success.jsp</result>
            </action>
      </package>

这里要注意,<action>中的name属性值一定要与页面form的action的值名称一样,class的值是调用的action的类详细位置(包括包)。子标签<result>表示action类执行之后跳转到的页面,action类的返回结果要与<result>的name属性值相同,跳转页面要注意路径。

三、Struts2拦截器

拦截器是动态拦截Action调用的对象。

拦截器链是指能够将拦截器按一定的顺序联结成一条链。

其实,以我的理解拦截器就是一个特殊的类,体现切面编程的思想。与一般类不同的是拦截器要在xml文件里配置。接下来就让我们看看拦截器的定义格式。

先假设拦截器定义在struts-default.xml,在struts.xml里引用struts-default.xml,代码为<include file="struts-default.xml的完全路径" />

拦截器的定义格式:

<interceptor  name="拦截器名"  class="拦截器实现类"  />

如果需要用拦截器传回参数,则格式如下:

<interceptor  name="拦截器名"  class="拦截器实现类" >

<param  name="参数名">参数值</param>

</interceptor>

配置拦截器栈的代码:

<interceptor-stack  name="拦截器栈名">

<interceptor-ref  name="拦截器名" />

………………

</interceptor-stack>

另外需要注意的是自定义拦截器时,都要直接或间接的实现接口com.opensymphony.xwork2.interceptor.Interceptor

以上是struts2中的一些基础知识,下一篇将以一个简单的实际项目来说明struts2的使用。

Struts2复习笔记的更多相关文章

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  4. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  5. Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...

  6. Struts2学习笔记⑧

    今天是Struts2学习笔记的最后一篇文章了.用什么做结尾呢,这两天其实还学了很多东西,没有记录下,今天就查漏补缺一下. 文件上传与下载.FreeMarker以及昨天没做完的例子 文件上传与下载 文件 ...

  7. Struts2学习笔记①

    Struts2 学习笔记① 所有的程序学习都从Hello World开始,今天先跟着书做一个HW的示例. Struts2是一套MVC框架,使用起来非常方便,接触到现在觉得最麻烦的地方是配置文件.我的一 ...

  8. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  9. Java基础复习笔记基本排序算法

    Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...

随机推荐

  1. 如何让WordPress支持上传更多文件类型

    如何让WordPress支持上传更多文件类型   可以在functions.php中这样写: 1 2 3 4 5 6 7 8 9 add_filter('upload_mimes', 'wpdit_f ...

  2. Mysql分区简述

    1. 数据量大的时候 mysql分表非常常用,但是mysql还可以分区. 2. 分区就是把同一张表放在不同的磁盘文件上, 当查询的时候首先定位是哪个分区(查询的时候一定要用到分区的key) 3. 分区 ...

  3. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  4. [Spring MVC] - Annotation验证

    使用Spring MVC的Annotation验证可以直接对view model的简单数据验证,注意,这里是简单的,如果model的数据验证需要有一些比较复杂的业务逻辑性在里头,只是使用annotat ...

  5. linux下mysql远程访问

    // */ // ]]>   linux下mysql远程访问 Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,但项目中必须要远程导 入导出数据,所以研究了一下. Tab ...

  6. C#线程并发执行的实例[转]

    实现思路:线程执行后进行阻塞,判断当前标记是否达到设置的并发数,如果未达到上限,执行队列中将继续增加线程:如已达到其余线程排队等候.实例代码: 注:其中用到Mutex与Interlocked两个与线程 ...

  7. 虚拟机Ubuntu16,caffe环境搭建

    虚拟机下的Ubuntu16.04+caffe+onlycup 官网的step很重要,要跟着官网,的步骤来:http://caffe.berkeleyvision.org/installation.ht ...

  8. vi编辑器的简单使用

    Esc   --进入扩展模式 a i o    --进入插入模式 w --保存 q --退出 wq!--强制保存退出 p  --粘贴 前面加数字表示粘贴多少行 u --复原前一个操作 Carl+r - ...

  9. Win32API界面库 - Project wheels 工程基础部分完成

    离上次发博文过去了好久,先是要忙一个机器人的项目,然后就是部门的事情和考试周复习,然后就到了考试周,趁着复习的间隙,拾起了寒假时候抄的界面库,修掉了从前的bug. bug1 控件显示问题 当初抄这个库 ...

  10. Json数据处理

    1.字符串转换为Json数组:取json对象属性值. String st="[{"tradeDate":"2016-09-27","trad ...