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 ...
随机推荐
- ABP理论之时间
返回总目录 本篇目录 介绍 Clock 时区 绑定器和转换器 介绍 虽然有些应用针对的是一个特定的时区,但是也有一些应用针对多个不同的时区.为了满足这些需求,ABP为datetime操作提供了通用的基 ...
- 如何在 Visual Studio 中使用 Git 同步代码到 CodePlex
开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...
- ABP源码分析五:ABP初始化全过程
ABP在初始化阶段做了哪些操作,前面的四篇文章大致描述了一下. 为个更清楚的描述其脉络,做了张流程图以辅助说明.其中每一步都涉及很多细节,难以在一张图中全部表现出来.每一步的细节(会涉及到较多接口,类 ...
- Spark核心作业调度和任务调度之DAGScheduler源码
前言:本文是我学习Spark 源码与内部原理用,同时也希望能给新手一些帮助,入道不深,如有遗漏或错误的,请在原文评论或者发送至我的邮箱 tongzhenguotongzhenguo@gmail.com ...
- [转载]从MyEclipse到IntelliJ IDEA-让你摆脱鼠标,全键盘操作
从MyEclipse转战到IntelliJ IDEA的经历 注转载址:http://blog.csdn.net/luoweifu/article/details/13985835 我一个朋友写了一篇“ ...
- backup2:数据库还原
数据库还原的操作,分两步进行:第一步,验证(verify)备份文件:第二步,根据备份策略还原数据库: 参考<backup1:开始数据库备份>,备份策略是: 一周一次完整备份,一天一次差异备 ...
- Dreamweaver 扩展开发: Calling a C++ function from JavaScript
After you understand how C-level extensibility works in Dreamweaver and its dependency on certain da ...
- Tcl internal variables
Tcl internal variables eryar@163.com 在Tcl中内置了一些变量,并赋予了一定的功能.内置变量列表如下: 变量名称 功能描述 argc 指命令行参数的个数. argv ...
- geotrellis使用(二十五)将Geotrellis移植到spark2.0
目录 前言 升级spark到2.0 将geotrellis最新版部署到spark2.0(CDH) 总结 一.前言 事情总是变化这么快,前面刚写了一篇博客介绍如何将geotrellis移植 ...
- 挑子学习笔记:对数似然距离(Log-Likelihood Distance)
转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/log-likelihood_distance.html 本文是“挑子”在学习对数似然距离过程中的笔记摘录,文 ...