由Struts return SUCCESS引发的基础问题
该问题的最初来源,是源于Struts中的 return SUCCESS; 和 return "success";


在Struts的配置文件struts.xml我们可以找到"success"的配置

该"success"指向的是一个action或者一个jsp。
这里笔者就很好奇,SUCCESS指向的是一个什么方法,它的返回值是什么。毕竟在配置文件中没有找到配置SUCCESS的语句。
作为一个新手,笔者看到这种大写的,在eclipse中显示粗体斜体的,自然的就想到了,这个变量是一个静态常量,毕竟只有静态常亮才能在其他类中不定义就直接使用(静态常亮在程式开始的时候就被创建在内存中,可以直接被使用,静态方法也是如此),一般来说,定义成静态常量的会加一个final的修饰符,不允许被修改它的值。
那只能通过SUCCESS本身去找答案了。进入SUCEESS的.class文件中,笔者终于找到了答案。

原来在Struts中,它把一些常用的SUCCESS, NONE, ERROR, INPOUT, LOGIN 都定义了一遍。SUCCESS其实就是"success"。看到这里,终于明白了SUCCESS是什么了。
在此,笔者就想到了一个问题,使用其他类的静态常量是需要"类名.静态常量"这样的格式来获得的,那为什么在Struts 的Action中能直接使用SUCCESS呢?
这个问题貌似只有一个答案,这个Action继承了定义SUCCESS的类。
那就一步一步往前找。

自己定义的Action继承了ActionSupport

这个ActionSupport友继承了定义SUCCESS的接口。
这里笔者找到了满意的答案。
在此,笔者又看到了abstract这个烦人的东西,接口,继承,抽象类。
由Struts return SUCCESS引发的基础问题的更多相关文章
- 学习Struts--Chap03:struts.xml常用配置(基础)
1.package属性 name:包名 用来唯一的指定一个package.package可以扩展,当一个package扩展自 另一个package时该package会在本身配置的基础上加入扩展的pac ...
- 由struts错误使用引发的漏洞,使用参数作为返回的文件路径或文件名,作为返回result 值
该错误可以导致他人任意访问该路径下的任何文件. struts 文件 <?xml version="1.0" encoding="UTF-8" ?> ...
- 由 '' in 'abc' return True 引发的思考----Python 成员测试操作
最近遇到判断字典中是否存在空字符串‘’,这个很好判断,直接用:‘’ in ['a','b','c'],就可以直接判断出来:但是当我对字符串使用 “in” 方法进行判断的时候,发现:‘’ in ‘abc ...
- Struts2(一)— 入门
一.概述 1.什么是Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立 ...
- eclipse环境下基于tomcat-7.0.82构建struts2项目
开山第一篇,毕业4个月目前接触最多的框架还是s2sh框架.... 具备完整的开发环境下,在eclipse下启动tomcat出现如下所示画面表示环境构建成功. 第一步:创建web项目,截图如下 此页面只 ...
- ssh框架-Struts2(一)
Struts2 概述 用我们自己的话来说: struts是web层框架, 相当于Servlet 作用: 1. 获得请求参数 2. 调用业务 3. 分发转向 常用的WEB层框架 Struts2入门 1. ...
- 学习Struts2.3
</pre>1.struts2.3核心jar包(若首次接触,可临时略过不看)大家能够到http://struts.apache.org/download.cgi#struts2014下载s ...
- javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之一 基础Struts框架搭建篇
即将开始着手写这个项目,所以希望通过这篇博客来记录自己学习的过程 今天开学第一天,就上了软件工程实践课,自己也开始着手做这个大作业了.首先我的项目名称叫做智能班车管理系统. 项目的概况: 该软件产品是 ...
- Struts2基础-4-2 -struts拦截器实现权限控制案例+ 模型驱动处理请求参数 + Action方法动态调用
1.新建项目,添加jar包到WEB-INF目录下的lib文件夹,并添加到builde path里面 整体目录结构如下 2.新建web.xml,添加struts2核心过滤器,和默认首页 <?xml ...
随机推荐
- jq 版的tab切换
ta切换是在前端中非常常见的一种效果,网上的效果很多.但是我觉得下面这种方法最好,把tab效果封装成一个函数 tabs,这个函数要配合jq使用. var tabs = function (tab, c ...
- NK3C:异常处理(前端)
前端的提示有些也不是很规范,主要体现如下: 1.ResultInfo的返回值,false的情况下,未做处理: 2.ResultInfo的返回值,false的情况下,做了其他操作,未提示错误:(虽然没报 ...
- nginx转发post消息成301了
刚才开始是:第一次遇到这个问题是因为不支持sslv3 后来测试的时候,是因为没注意https的导致http 301跳转https post请求nginx转发成301了,到时post数据丢失
- 在Spring下集成ActiveMQ
1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇ActiveMQ入门实例中我们实现了消息的异步传送,这篇博文将如何在spr ...
- EBS中OPM成本更新处理流程及对应的表结构、SLA表
OPM成本更新流程: 1.跑实际成本处理 功能作用:计算成本 2.成本更新 功能作用:更新成本 3.OPM会计预处理程序->活动->提交流程 功能作用:是创建会计事件 ...
- VUE 入门基础(8)
十,组件 使用组件 注册 可以通过以下这种方式创建一个Vue实例 new Vue({ el: '#some-element', }) 注册一个全局组件,你可以使用Vue.component(tagNa ...
- C# 获取系统时间及时间格式
--DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 取当前年月日时分秒 currentTime=System. ...
- XML.01-语法简介
body,td { font-family: calibri; font-size: 10pt } XML.01-语法简介 文档声明 元素(标签) 属性 注释 特殊字符 CDATA区域 处理指令 ...
- Tomcat 实现双向SSL认证
大概思路: 使用openssl生产CA证书,使用keytool生产密钥库 实验环境:RHEL6.4+Tomcat8 一.生成CA根证书,并自签名 1.生成CA密钥 # genrsa [产生密钥命令] ...
- Socket为什么要翻译成套接字
作者:陈振玥链接:https://www.zhihu.com/question/21383903/answer/64103663来源:知乎著作权归作者所有,转载请联系作者获得授权. 作为一条刻(wu) ...