首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

初探 Struts2 框架安全

最近分析 confluence 的漏洞,发现是基于 Struts 框架的,其中有很多相关知识点并不了解,因此专门来学习一下 Struts 2。...之类的疑问,事实上这个框架也确实是过时了,现在Java Web 开发早已是 Spring 全家桶一统江山的局面。但我们也不能不承认曾经 Struts 的地位。...Struts2 + Spring + Hibernate 三大框架在当年组合号称 SSH,对 Java Web 应用生态产生了深远的影响,以至于现在有许多知名应用中还有 Struts 的影子。...有趣的是它不像 Spring 等其他 Web 框架将功能插入到 Servlet 中(DispatchServlet),而是插入到 Filter 中,如下所示: <?...confluence 由 Atlassian 开发是一个知识库管理服务,支持本地部署,其 Web 框架主要基于 Struts 2。

51620

Struts2框架学习之二

Struts2中,访问 Servlet API有3种方法,具体如下: 1.1 通过ActionContext访问   Struts2框架提供了 Action Context类来访问 Servlet...框架还提供了 ServletActionContext类,该类包含了几个常用的静态方法,具体如下:   ●  static HttpServletRequest  getRequest ( ) :获取Web...框架提供了ActionContext类来访问Servlet API,虽然这种方法可以访问Servlet API,但是无法直接获得 Servlet API 实例。...中,当框架调用 Action对请求进行处理后,就要向用户呈现一个结果视图。...到这我们已经了解了 Struts2的结果页面的配置了,也知道如何接收数据了,但是接收过来的数据,往往需要进行封装才会向业务层进行传递,那么作为一个框架,如果连这点功能都没有,那就太不像是一个“框架”了。

74620
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SSH框架之旅-struts2(3)

    OGNL 是被集成到 struts2中的,并不是 struts2 项目的一部分,struts2 用 OGNL 来取代原始 java web 项目中的 EL 表达式。...1.3 OGNL 的简单使用 OGNL 在 struts2 中,要结合 struts2 的标签一起使用,首先要 导入 OGNL 的 jar 包,在jsp页面中我们就可以直接使用 OGNL 表达式完成之前需要使用...牛刀小试: 记得在 web.xml 文件中配置 struts2 的拦截器。...值栈英文是 ValueStack,它其实是 struts2 的一个接口,而 OgnlValueStack 是 ValueStack 的实现类,浏览器访问 一个 action 请求时,struts2 架构会创建一个...1.4.2 % 的使用 struts2 中还定义了表单输入标签,如果在 struts2 的表单标签中使用 OGNL 表达式是不能识别的,需要 %{OGNL表达式} 才能识别。

    46960

    SSH框架之旅-struts2(1)

    struts.jpg 1.struts2 框架介绍 ---- struts2 框架在 struts1 和 WebWork的技术上合并而来的,全新的struts2 框架是以 WebWork 框架为核心,采用拦截器的机制来处理用户请求...,是一个基于 MVC 设计模式的 Web 框架,本质上相当于一个 servlet,struts2 作为控制器来建立模型和视图之间的数据交互。...---- 2.搭建 struts2 框架 ---- 2.1 准备 struts2struts2 也是 Apache 基金会下的一个开源项目,可以直接去官网下载 struts2 的 zip 压缩包,...2.2 导入 struts2 的 jar 包 不同与一般的 java 项目,使用 hibernate 时,可以自己建立用户库,在项目中加入构建路径即可,使用 struts2 框架不能使用用户库这种方式,...---- 4.1 struts2 框架设计思想 前面提到 struts2 是一个 MVC 的 Web 框架,Web 层的框架都是基于前端控制器的模式,如下图所示,传统的方式,页面上的每个请求,是交给一个的

    44230

    Struts2框架的基本使用

    前面已经介绍过了MVC思想,Struts2是一个优秀的MVC框架,大大降低了各个层之间的耦合度,具有很好的扩展性。...从本篇开始我们学习Struts2的基本用法,本篇主要包括以下内容: Struts2的下载安装 理解整个框架的运行流程 自定义实现Action 自定义配置处理结果 一、下载和安装Struts2      ...二、理解Struts2的运行流程      下面演示一个完整的使用Struts2的实例,目的不是具体的代码,重点在于理解整个框架的运作流程。...这就是一个简单的Struts2框架的请求和响应过程,可以看到整个框架的核心是主拦截器和各种控制器Action,下面我们具体看看控制器的相关知识。...那我们在Action控制器中没法直接操作Servlet的一些对象,例如:request,response等,但是Struts2框架提供了一个工具类,可以为我们提供这些对象。

    70370

    Struts2框架的基本使用(三)

    上篇 Struts2框架的基本使用(二)介绍了Action和result的相关配置操作,本篇接着介绍剩下的异常处理机制和Convention插件的使用。...下篇文章介绍的是Struts2框架中标签库的使用情况。 一、Struts的异常处理机制      每一个优秀的MVC框架都有一套完善的异常处理机制。...在Struts框架中默认是定义了一个异常拦截器,用于捕获Action抛出的异常,它有点像我们的核心拦截器。...*,org.hibernate.*"/> 我们看到该常量指定了四个包,正是我们之前强调的action ,actions ,struts,struts2。...到目前为止,有关Struts2的基本使用就简单的介绍完了,下篇介绍struts2的标签库技术。总结的不好,望大家不吝赐教!

    82670

    Struts2框架的基本使用(二)

    上一篇 Struts2框架的基本使用 我们限于篇幅,最后简单介绍了Action的配置问题,本篇接着介绍有关框架的一些其他基本用法,主要内容如下: Action的基本配置 result的基本配置...我们在Struts.xml中指定了默认调用的方法是myMethod,从结果图中我们可以看出来,框架执行了我们的myMethod方法而不是默认的execute方法。      ...在配置action元素的时候,Struts框架允许我们在name属性字段使用通配符。即使用 * 代表一个或多个字符,然后我们可以在class属性或者子元素中使用{n}来获取 * 所代表的内容。...在Struts框架中loginABC原URL优先级最高,后面两种优先级相同,具体选择按照先后顺序。...虽然我们没有配置error结果对应的物理视图,但是通过查找全局的结果,框架还是找到error.jsp并forward结果返回。

    780100

    SSH框架Struts2第二篇

    本文链接:https://blog.csdn.net/zhao1299002788/article/details/100826692 1.2 知识点 1.2.1 Struts2的Servlet的...原来的Servlet是单例存在,多次请求,请求都是同一个Servlet的实例.Struts2中Action是多实例的.有异常请求就会有一个Action的实例....大部分我们会优先使用模型驱动的方式,因为Struts2内部有很多结果是围绕模型驱动设计的。但如果页面向多个对象中封装,那么就需要使用属性驱动的方式二了。...这些都是像某个对象中封装数据, 1.2.3 Struts2的数据封装 : 1.2.3.1 Struts2中的数据封装-属性驱动 : 提供对应属性的set方法的方式 : 页面...3 struts2对页面数据封装的方式: 4种 ps:action多实例的,每访问一次就创建一个action对象,所以它成员位置的属性不存在线程危机 1 属性驱动---set方式 条件:

    53320

    Java开发必会框架Struts2第四天

    一、OGNL配合通用标签的其他使用 1、iterator标签(很重要) 2、OGNL投影(了解) 2.1、使用过滤条件投影 2.2、投影指定属性 3、Struts2中#,$,%符号的使用(重要) 3.1...@encode(filename,"UTF-8")} 3.3、% 在struts2中,有些标签的value属性取值就是一个OGNL表达式,例如<s:property value="OGNL Expression...4、其他标签 4.1、set标签 4.2、action标签 4.3、if标签,elseif标签 else标签 4.4、url和a标签(很有用) 二、<em>Struts2</em>的UI标签和主题 1、<em>Struts2</em>中UI...2.1、UI标签的通用属性 2.2、关于checkboxlist的使用: 2.3、UI标签的小案例以及模型驱动的分析 3、UI标签的模板(主题) 3.1、<em>struts2</em>中默认主题 默认主题的名称是XHTML...三、防止表单重复提交(拦截器) 1、回顾之前的解决办法: 2、<em>Struts2</em>中的解决办法: 2.1、使用重定向 遗留的问题:防不住后退,再提交。

    787120
    领券