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. 轻量级通信引擎StriveEngine —— C/S通信demo(附源码)

    前段时间,有几个研究ESFramework的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好友关系.也不 ...

  2. 当前端也拥有 Server 的能力

    今天看了不少文章,比较感兴趣的是 Cache API.它是浏览器 Request/Response 的缓存管理工具,其使用风格和运用场景让我瞬间联想到了 ServiceWorker 和 Fetch A ...

  3. Java 程序的打包、签名和验证

    参考资料 该文中的内容来源于 Oracle 的官方文档.Oracle 在 Java 方面的文档是非常完善的.对 Java 8 感兴趣的朋友,可以直接找到这个总入口 Java SE 8 Document ...

  4. C++ std::forward_list

    std::forward_list template < class T, class Alloc = allocator > class forward_list; Forward li ...

  5. Linex 配置php服务器

    此文是可以参考 楼主也不是系统管理员只是迫不得已所以自己才找的  大家可以参考 .... ..... 安装apache 安装mysql 安装PHP 测试服务器 php -v 查询php的版本 就这些了 ...

  6. 使用T-SQL找出执行时间过长的作业

        有些时候,有些作业遇到问题执行时间过长,因此我写了一个脚本可以根据历史记录,找出执行时间过长的作业,在监控中就可以及时发现这些作业并尽早解决,代码如下:   SELECT sj.name , ...

  7. Python正则表达式中的re.S

    title: Python正则表达式中的re.S date: 2014-12-21 09:55:54 categories: [Python] tags: [正则表达式,python] --- 在Py ...

  8. Node+fs+定时器(node-schedule)+MySql

    目标:将本人写博客时候的截图保存到桌面的图片 执行保存到指定文件进行整理 并写入数据库 先看最终的目录结构: package.json文件: { "name": "zqz ...

  9. OPEN CASCADE编译视频

    为了帮助OPEN CASCADE新手顺利编译OPEN CASCADE源码,特录制了一个视频, 有了这个视频,OPEN CASCADE的编译再也不麻烦啦!

  10. .NET Core采用的全新配置系统[8]: 如何实现配置与源文件的同步

    配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.接下来我们利用一个简单的.NET Core控 ...