1、过滤器:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
位置:在struts2的核心包struts2-core.jar包中
----------------------------------------
2、如何编写struts2的配置文件?
struts.xml关联了控制器(Action)与视图(view)之间的联系,
通过配置struts.xml进行视图与Action之间的一一对应关系。
1)、导入struts的doctype--
目的是为了导入struts的核心文件,
告诉编译器怎么去读文件

2)、<struts></struts>--
相当于与html的<html></html>,
标志着struts的开始

3)<package></package>
声明使用的struts框架的资源
extends属性,声明请求/继承的struts中的包的资源是哪个
struts-default值是指包资源来自于struts的默认包

name:包名称

namespace:包的命名空间是哪个

4)<action></action>
其作用是使我们的Action与显示页面进行一一的对应。
name属性:用户定义的action标签的名称,访问该资源
的url也是使用action的名称作为访问路径

class:关联其所对应的Action类,填写该Action的路径

<result></result>
通过result标签关联jsp视图
name:当执行完Action execute方法后的结果,
对应的结果就显示对应的jsp页面,
通过配置多个result标签是可以实现Action和
视图形成一对多的关系

----------------------------------------
使用struts的必要配置及作用:
1)、Create a class to store the welcome message (the model)
创建一个类存储欢迎信息--这个类属于业务层

2)、Create a server page to present the message (the view)
创建一个页面去显示这个信息--这个页面属于视图层

3)、Create an Action class to control the interaction between the user, the model, and the view (the controller)
创建一个实现Action接口的类去控制用户、业务、视图之间的交互---这个类属于控制层/器

4)、Create a mapping (struts.xml) to couple the Action class and view
创建一个映射文件(struts.xml)去关联Action与视图之间进行沟通

通过这四个组件实现业务、视图、控制器之间的分离,降低
这些层之间的耦合度。

-----------------------------------------
Action的其他实现方法
Action实现由3种方式
1、使用普通的java类,编写 execute 方法
2、实现Action接口,实现execute方法。
3、继承actionsupport类实现
--------------------------------------
static String ERROR
The action execution was a failure.
控制器执行失败,返回error
static String INPUT
The action execution require more input in order to succeed.
控制器执行需要用户进行输入之后才会成功
static String LOGIN
The action could not execute, since the user most was not logged in.
控制器没有执行时,则不能登录成功
static String NONE
The action execution was successful but do not show a view.
控制器执行成功,但不显示页面
static String SUCCESS
The action execution was successful.
控制器执行成功,并显示页面。

String execute()
Where the logic of the action is executed.
重写此方法,当控制器执行时,会执行当前方法的业务逻辑。
并会返回一个结果,告诉配置文件当前执行状态是哪个

Struts2初始(一)的更多相关文章

  1. struts2框架 初始别

    struts2 是webwork和struts合并而来. 1.下载struts2 说明: Full Distribution: 为完整版下载,建议下载它 Example Applications:st ...

  2. shiro + struts2 在action 中使用 shiro 注解 @requiresPermissions 报错: 方法找不到,类初始失败

    06:36:34,405 ERROR http-8084-2 dispatcher.Dispatcher:38 - Exception occurred during processing reque ...

  3. 分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo

    1):struts2 的基本概念: 1-1):Struts2 是什么? 1.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2 ...

  4. SSH面试题(struts2+Spring+hibernate)

    struts2 + Spring +hibernate Hibernate工作原理及为什么要用?   原理:   1.读取并解析配置文件   2.读取并解析映射信息,创建SessionFactory ...

  5. Struts与Struts2的区别

    Struts与Struts2的区别 首先看一张Struts2的发展路线图:       从Struts2的发展过程来看,Struts2继承了Struts与Webwork的特性,形成了新的框架.但是它的 ...

  6. 搭建一个简单struts2框架的登陆

    第一步:下载struts2对应的jar包,可以到struts官网下载:http://struts.apache.org/download.cgi#struts252 出于学习的目的,可以把整个完整的压 ...

  7. Struts2拦截器的使用 (详解)

    Struts2拦截器的使用 (详解) 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈default ...

  8. Struts2相关面试题

    Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心 ...

  9. 浅谈 Struts2 面试题收藏

    Struts2面试题 一.工作原理 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Fi ...

随机推荐

  1. 集成基于OAuth协议的单点登陆

    在之前的一篇文章中,我们已经介绍了如何为一个应用添加对CAS协议的支持,进而使得我们的应用可以与所有基于CAS协议的单点登陆服务通讯.但是现在的单点登陆服务实际上并不全是通过实现CAS协议来完成的.例 ...

  2. Java 8函数编程轻松入门(三)默认方法详解(default function)

    default出现的原因 Java 8中对API最大的改变在于集合类,Java在持续演进,但是它一直保持着向后兼容. 在Java 8中为Collection接口增加了stream方法,这意味着所有实现 ...

  3. esayui

  4. HTML5_07之WebSocket

    1.HTML5新特性之WebSocket: ①HTTP协议的不足:基于“请求——响应”模型,只有在客户端发送请求后,服务器才会给予响应:对于实时的股票走势图,以及聊天通讯等无法满足需求: ②解决方案: ...

  5. CSS布局之div交叉排布与底部对齐--flex实现

    最近在用wordpress写页面时,设计师给出了一种网页排布图样,之前从未遇到过,其在电脑上(分辨率大于768px)的效果图如下: 而在手机(分辨率小于等于768px)上要求这样排列: 我想到了两种方 ...

  6. 计算照片的面积(WPF篇)

    昨天,老周突发其想地给大伙伴们说了一下UWP应用中计算照片面积的玩法,而且老周也表示会提供WPF版本的示例.所以,今天就给大伙们补上吧. WPF是集成在.net框架中,属于.net的一部分,千万不要跟 ...

  7. 判断一个值是否为null或者undefined

    var a=null; var b=undefined; if(a===null){ //a==null alert("a=null") }else{ alert("a= ...

  8. Android 自定义View及其在布局文件中的使用示例

    前言: 尽管Android已经为我们提供了一套丰富的控件,如:Button,ImageView,TextView,EditText等众多控件,但是,有时候在项目开发过程中,还是需要开发者自定义一些需要 ...

  9. Oracle --> Vertica 数据类型转换规则

    需求:在Vertica数据库上建表,表结构来源于原Oracle数据库,故需要转换成Vertica数据库库表结构.   实际转换操作需要评估源库用到的所有数据类型和数据本身特性. 下面是总结的某场景下的 ...

  10. Unity3D中使用委托和事件

    前言: 本来早就想写写和代码设计相关的东西了,以前做2DX的时候就有过写写观察者设计模式的想法,但是实践不多.现在转到U3D的怀抱中,倒是接触了不少委托事件的写法,那干脆就在此总结一下吧. 1.C#中 ...