前言 前面Struts博文基本把Struts的配置信息讲解完了…..本博文主要讲解Struts对数据的处理 Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着ActionSupport...开发此类的Action,它是不继承任何类、不实现任何接口的…也就是说,它就是一个普通的Java类…....这里写图片描述 ---- 小总结 如果我们使用到了Struts2一些特用的功能,我们就需要继承ActionSupport 如果我们没用到Struts2的特殊功能,只要平凡写一个Java类行了。...,当我们将来可能开发BaseAction的时候,就使用它!...---- 日期转换问题 前面博文已经讲解了,Struts2为我们实现了数据自动封装…由上篇的例子我们可以看出,表单提交过去的数据全都是String类型的,但是经过Struts自动封装,就改成是JavaBean
在之前我有写过关于struts2框架的博客,好像是写了三篇,但是之前写的内容仅仅是struts2的一些基础知识而已,struts2还有很多有趣的内容等待着我们去发掘。...我准备再写几篇关于struts2的高级内容,之前的一些基础知识我就不会再提了,所以,在看进阶篇的struts2时,我希望你有一定的struts2框架的基础,没有的话也不要紧,因为入门struts2非常简单
struts2其实就是为我们封装了servlet,简化了jsp跳转的复杂操作,并且提供了易于编写的标签,可以快速开发view层的代码。 ...servlet搭配,实现展现时,大体的过程是: 1 jsp触发action 2 servlet接受action,交给后台class处理 3 后台class跳转到其他的jsp,实现数据展现 现在有了struts2...,实现过程变为 1 jsp出发action 2 struts2拦截请求,调用后台action 3 action返回结果,由不同的jsp展现数据 下面我们看下,需要的jar包 ? ...前面两个是apache commons的jar包,暂且忽略 freemarker提供了另一种展现方式 ognl提供了OGNL表达式 struts2-core提供struts2核心包 xwork-core...由于struts2很多事基于webwork的,因此也需要这个的核心包 我们提供了三个jsp 登陆界面login.jsp 1 <%@ page language="java" contentType
-- 设置为开发模式 --> 12 13 8 9 struts2 10 13 14 struts2
一、struts2综合案例 1、建立一个JavaWeb应用 2、拷贝一下内容到您应用中:美工MM给你准备好的 3、搭建Struts2的开发环境 a、拷贝jar包 b、配置Struts2核心过滤器器 web.xml...c、在src目录下建立struts.xml配置文件 4、具体开发 4.1数据模型 a、建立表格 CREATE TABLE S_User( userID INT NOT NULL AUTO_INCREMENT...DAO实现前:导入DBUtil和C3P0的jar包和工具类 f、配置Spring容器,管理业务和dao g、更改JSP页面:login.jsp 更改默认展现模板主题: 把login.jsp中的标签换成struts2...的标签 登陆错误提示 5、更改欢迎信息 6、添加用户 /user/add.jsp a、把add.jsp的标签全部换成struts2的标签 b、struts.xml c、动作类 7、查询所有的用户 /user
上一小节已经学会了如何去搭建Struts2的开发环境,该篇博客我们继续深入Struts2,了解Struts2框架的拦截器。 首先对我们在web.xml文件配置的过滤器进行一个源码的分析。
简化开发(个人对框架认识的理解,其他 还有在框架上加自己的代码这些就不说了,肯定还有别的很多功能,这只是我最好理解的一种方式)。 ...Struts2就是一个web层框架,并且是使用MVC设计模式实现的的一个框架,之前使用的是Serlvet+JSP来开发web项目,现在用Struts2框架来替代他,那Struts2到底有 哪些优点呢...Struts2是Apache发行的MVC开源框架。注意:它只是表现层(MVC)框架。 ? 1.2、来历 Struts1:也是apache开发的一套mvc的开源框架。...Struts2就是apache和OpenSymphony组织合并开发出来。 里面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1没有任何关系了。...3.1、导入jar包 1)下载struts2jar包 http://struts.apache.org(struts-2.3.15.3) 2)开发包目录结构 ?
struts2框架的知识点,虽然分了几个小节,感觉内容还是挺多的,但是你仅仅是入门了而已,想要进一步地提升自己,你得有一颗持之以恒的学习的心,最后的内容我都将在这篇博客中讲到,所以篇幅可能会有点长,希望大家能够耐心阅读...首先介绍一下struts2的配置。 还记得我们创建的test.jsp文件吗?...在struts2中,访问struts2中action的URL路径由两部份组成: 包的命名空间+action的名称 例如: 访问本例子HelloWorldAction的URL路径为: /primer/
Maven的主要目标是希望开发人员能在最短的时间内理解开发的完整状态。...2、搭建Struts2的开发环境 2.1、添加Struts2框架的核心jar包 由于我们是使用Maven管理项目中的jar包的,所以我们需要在pom.xml文件中添加Struts2框架的核心jar包的描述...这二个插件结合起来学习,能很方便的搞定struts2中各种复杂的action-view映射需求,所以现在使用Struts2框架开发Web应用时,一般都会配合这两个插件一起使用。...并且我们也感受到了使用convention-plugin插件开发基于注解的Struts2程序是非常方便和快捷的。 ...框架的开发环境的相关介绍,使用了Maven之后,大大提高了框架开发环境的搭建速度,起码我们不再需要关心Struts2框架的开发环境需要哪些jar包,我们只需要引入Struts2的核心jar包struts2
今天的内容全都是重点 一、Struts2中的拦截器(特别重要) 1、拦截器的重要性 Struts2中的很多功能都是由拦截器完成的。...思路:我们在设置【开发模式】时,覆盖掉了一个default.properties中的常量,能不能把struts-default.xml中的默认拦截器栈的设置给覆盖掉呢?答案是可以的。 ?...Struts2框架使用OGNL作为默认的表达式语言。...2、OGNL的功能 前提:OGNL是struts2整合的一个开源项目,所以在struts2中,要想使用OGNL表达式,必须使用Struts2标签库 2.1、支持普通方法的调用 ? ?...2、取数据:用Struts2的标签(OGNL表达式)在JSP上(用的最多) 使用OGNL表达式来去,struts2的OGNL表达式必须写在struts2标签中。
学无止境,学习这些知识还远远不够,所以,在接下来的时间里,我将对JavaWeb中的SSH开发模式进行一个简单的学习,并用博客记录学习进度。...我会把整个开发模式分为三部分,第一部分:Struts2,第二部分:Hibernate,第三部分:Spring。但是即使分为了三部分,每个部分的框架仍然略显复杂。所以,我将在每部分的框架中继续细分。...那么,今天便开始第一部分的内容,Struts2。 首先了解一下Struts2的历史吧。...Struts1 是全世界第一个发布的MVC框架 在2001年发布 Struts2 并不是Struts1的升级版 是由WebWork基础上发展起来的 吸收了Struts 1和WebWork两者的优势 那Struts2...Struts2是一个用来开发MVC应用程序的框架。
一、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、使用重定向 遗留的问题:防不住后退,再提交。
S2-009漏洞 Struts2对s2-003的修复是禁止的#,因此s2-005正在使用该代码\u0023或\43绕过禁止; 然后禁止s2-005的修复\和其他阻止用户提交反斜杠的特殊符号。...S2-013漏洞 漏洞触发: 由于官方没有发补丁,所以最新版本的struts2还是有漏洞的,可以下载最新:Apache Struts 2.3.14 GA的示例应用。...只要在struts2配置文件中开启该功能,就可能被利用。...应用,会被攻击者实现远程代码执行攻击,struts2 历次的漏洞公告和详情官方都有专门的页面进行整理和汇总,可以从这个页面找到历次的struts2的漏洞。...2 struts2 s2-037漏洞详情分析 此次的s2-037是基于033的一个绕过,在033中,需要开启动态方法执行,也就是032的条件,同时还需要安装rest插件。
1.Struts2框架的学习路线 l 第一天:Struts2的概述、Struts2的入门、Struts2常见的配置、Struts2的Action的编写 l 第二天:Struts2的数据的封装、结果页面配置...l 第三天:Struts2的值栈和OGNL表达式 l 第四天:Struts2的标签库 2.Struts2的概述 2.1什么是Struts2 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个...3.Struts2的入门 3.1下载Struts2的开发环境 下载地址:http://struts.apache.org/ 3.2解压Struts2开发包 ?...l docs :Struts2的开发文档和API l lib :Strtus2框架的开发的jar包 l src :Struts2...param-name> xyz --> 5.5分模块开发的配置
==============================================
s2-003.html 目录遍历漏洞可以获取服务器静态文件 【官方ID】S2-004 【危害等级】高 【受影响版本】 Struts 2.0.0 – Struts 2.0.11.2 【漏洞描述】 原因:struts2...【Exploit】 struts2多个安全漏洞 【官方ID】S2-008 【危害等级】高 【受影响版本】 Struts 2.1.0 – Struts2.3.1 【漏洞描述】 Remote command...如果开发人员,将其配置为“*”,允许了用户提交的所有的cookiename。tomcat中已经有处理,攻击无法进行。...CSRF防护绕过 【官方ID】S2-010、CVE-2012-4386 【危害等级】高 【受影响版本】 Struts 2.0.0 – Struts 2.2.4 【漏洞描述】 struts2的token验证机制...【Exploit】 暂未找到 Dos攻击 【官方ID】S2-011、CVE-2012-4387 【危害等级】高 【受影响版本】 Struts 2.0.0 – Struts 2.3.4 【漏洞描述】 struts2
webwork市场的反响不如struts1) struts2与struts1差别巨大,不能理解为struts1的升级版。 struts2以xwork为核心,可以理解为webwork的升级版。...struts2实现了MVC,并提供了一些列API,采用模式化方式简化业务开发过程。 MVC:M(modle)模型,它的职责是斁业务逻辑,包含两层:业务数据和业务处理逻辑。...---提升开发效率 提供了一系列的API,可以大大提升项目的开发效率。如:使用拦截器自动给请求参数转型 缺点: ---执行效率偏低 需要使用反射,解析XML等技术手段,会降低执行效率。...---结构复杂,有学习成本 需要花费一定成本学习struts2的API以及使用步骤 4.struts2自身的优势: 健壮性:struts2是一个成熟稳定的框架,目前比较稳定的版本是2.1.8 易用性...侵入性:struts2对业务代码依赖性很低,基本不需要导入它的包 5.servlet与struts2实现MVC示意图 servlet实现mvc ? struts2实现mvc ?
2、Struts2的来历 Struts1:也是apache开发的一套mvc的开源框架。在2005年之前非常流行。 弊端:Struts1的核心控制器就是一个Servlet。...Struts2:在long long ago,有一个设计超前的框架XWork,后来推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony组织合并开发出来。...六、搭建Struts2开发环境 1、下载Struts2开发包 http://struts.apache.org 2、开发包目录结构 ?...七、第一个Struts2案例 以下步骤是日后实际开发中经常重复的。 1、建立一个jsp文件 ? 2、在struts.xml文件中配置 ? 3、建立动作类和动作方法 ? 4、结果视图页面 ?...十一、xml配置文件的主要元素 1、package元素 1.1、作用: 在struts2的配置文件中引入了面向对象思想,使用了分包管理。易于管理动作类。便于模块化开发动作类。
${(#_memberAccess[“allowStaticMethodAccess”]=true,#a=@java.lang.Runtime@getRunti...
2、动态参数封装:开发时用到的 通过用户的表单封装请求正文参数。...注册界面: 结果视图: 三、数据类型的转换(明白原理,实际开发中几乎不用) 1、开发中的情况: 实际开发中用户通过浏览器输入的数据都是String或者String[]。...显示错误提示:借助Struts2的标签库。 回显数据:使用struts2的标签库生成表单。(建议使用) 错误信息中文提示:使用的是struts2的国际化。...实际开发中:客户端+服务端 2、Struts2的服务端验证 2.1、编程式验证 前提: 动作类必须继承ActionSupport 在代码中编写验证规则。...Struts2中资源包的搜索顺序: 2.2、读取资源包的内容 a、动作类中的读取方式(实际开发中几乎从来不用) b、在页面中读取资源包内容 直接访问jsp: 通过动作类访问jsp c、自由指定读取资源包
领取专属 10元无门槛券
手把手带您无忧上云