Struts2初始(一)
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初始(一)的更多相关文章
- struts2框架 初始别
struts2 是webwork和struts合并而来. 1.下载struts2 说明: Full Distribution: 为完整版下载,建议下载它 Example Applications:st ...
- shiro + struts2 在action 中使用 shiro 注解 @requiresPermissions 报错: 方法找不到,类初始失败
06:36:34,405 ERROR http-8084-2 dispatcher.Dispatcher:38 - Exception occurred during processing reque ...
- 分享知识-快乐自己:初始 Struts2 (基本概念)及 搭建第一个Demo
1):struts2 的基本概念: 1-1):Struts2 是什么? 1.Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2 ...
- SSH面试题(struts2+Spring+hibernate)
struts2 + Spring +hibernate Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory ...
- Struts与Struts2的区别
Struts与Struts2的区别 首先看一张Struts2的发展路线图: 从Struts2的发展过程来看,Struts2继承了Struts与Webwork的特性,形成了新的框架.但是它的 ...
- 搭建一个简单struts2框架的登陆
第一步:下载struts2对应的jar包,可以到struts官网下载:http://struts.apache.org/download.cgi#struts252 出于学习的目的,可以把整个完整的压 ...
- Struts2拦截器的使用 (详解)
Struts2拦截器的使用 (详解) 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈default ...
- Struts2相关面试题
Struts2面试题 1.struts2工作流程 Struts 2框架本身大致可以分为3个部分: 核心控制器FilterDispatcher.业务控制器Action和用户实现的企业业务逻辑组件. 核心 ...
- 浅谈 Struts2 面试题收藏
Struts2面试题 一.工作原理 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求 2 这个请求经过一系列的过滤器(Fi ...
随机推荐
- 企业IT管理员IE11升级指南【17】—— F12 开发者工具
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来
dynamic-css 使得你可以借助 MVVM 模式动态生成和更新 css,从而将本插件到来之前,打散.嵌套在 js 中的修改样式的代码剥离出来.比如你要做元素跟随鼠标移动,或者根据滚动条位置的变化 ...
- ABP(现代ASP.NET样板开发框架)系列之11、ABP领域层——仓储(Repositories)
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之11.ABP领域层——仓储(Repositories) ABP是“ASP.NET Boilerplate Proj ...
- XSS原理
跨站脚本攻击(Cross-Site Scripting),是一种网站应用程序的安全漏洞,是代码注入攻击的一种. XSS的种类: 反射型XSS: 非持久型XSS(需要自行触发,输入-输出). ...
- angular2系列教程(一)hello world
今天我们要讲的是angular2系列教程的第一篇,主要是学习angular2的运行,以及感受angular2的components以及模板语法. 例子 这个例子非常简单,是个双向数据绑定.我使用了官网 ...
- jQuery -原生 如何互转
今天研究源码的时候发现,不需要用get() 也能进行原生转换,使用原生方法. 原生- jQuery对象 var obj=document.xxx $(obj).css(); 也可以直接 $(doc ...
- Linux ERRNO
摘自Linux-3.18.20的头文件include/uapi/asm-generic/errno-base.h和include/uapi/asm-generic/errno.h: #define E ...
- js的单线程和异步
前言 说到js的单线程(single threaded)和异步(asynchronous),很多同学不禁会想,这不是自相矛盾么?其实,单线程和异步确实不能同时成为一个语言的特性.js选择了成为单线程的 ...
- Android之图片加载框架Fresco基本使用(二)
PS:最近看到很多人都开始写年终总结了,时间过得飞快,又到年底了,又老了一岁. 学习内容: 1.进度条 2.缩放 3.ControllerBuilder,ControllerListener,Post ...
- 透过HT for Web 3D看动画Easing函数本质
http://www.hightopo.com/guide/guide/plugin/form/examples/example_easing.html 50年前的这个月诞生了BASIC这门计算机语言 ...