怎么知道网站是否有apache struts 2

怎么知道网站是否有apache struts 2

本文目录

  • 怎么知道网站是否有apache struts 2
  • 使用org.apachestruts2ServletActionContext类,需要导入什么包
  • org.apache.struts2.dispatcher.FilterDispatcher.class这个类有什么作用
  • apache struts2漏洞在net平台有吗
  • 如何评价apache/struts2,CVE-2016-0785
  • org.apache.struts2属于哪个包
  • Apache的Struts2 架构还有什么用处
  • 怎么修复apache struts 2 漏洞
  • 怎样查出是否使用Apache struts 2

怎么知道网站是否有apache struts 2


通过网站页面的回显错误消息来判断,页面不回显错误消息时则无效。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。

Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。


使用org.apachestruts2ServletActionContext类,需要导入什么包


导入struts2-core-2.3.15.1.jar

servletactioncontext 需要jar csdn的类型

一 WEB容器在启动时,它会为每个WEB应用程序创建一个对应的ServletContext对象,它代表当前web应用。  

二  ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletContext对象。  

三 由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。


org.apache.struts2.dispatcher.FilterDispatcher.class这个类有什么作用


概要说明
FilterDispatcher是早期struts2的过滤器,后期的都用StrutsPrepareAndExecuteFilter了,如 2.1.6、2.1.8。StrutsPrepareAndExecuteFilter名字已经很能说明问题了,prepare与execute,前者表示准备,可以说是指filter中的init方法,即配制的导入;后者表示进行过滤,指doFilter方法,即将request请求,转发给对应的 action去处理。FilterDispatcher是struts2.0.x到2.1.2版本的核心过滤器.!
StrutsPrepareAndExecuteFilter的优势
StrutsPrepareAndExecuteFilter是自2.1.3开始就替代了FilterDispatcher的,这样的改革当然是有好处的.!为什么这么说.? 应该知道如果我们自己定义过滤器的话, 是要放在strtus2的过滤器之前的, 如果放在struts2过滤器之后,你自己的过滤器对action的过滤作用就废了,不会有效!除非你是访问jsp/html!
那我现在有需求, 我必须使用Action的环境,而又想在执行action之前拿filter做一些事, 用FilterDispatcher是做不到的.!那么StrutsPrepareAndExecuteFilter可以把他拆分成StrutsPrepareFilter和StrutsExecuteFilter,可以在这两个过滤器之间加上我们自己的过滤器.!
给你打个比喻, 现在有病人要做手术, 现在struts2要做两件事, 搭病床(环境),执行手术.! 那么打麻药的工作呢.? 不可能要病人站着打吧, 所以必须有病床的环境,打完麻药之后再动手术.! 这个比喻非常形象了.!
如果是2.1.3之前的版本,用org.apache.struts2.dispatcher.FilterDispatcher,
否则,用org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。
从Struts2.1.3开始,将废弃ActionContextCleanUp过滤器,而在StrutsPrepareAndExecuteFilter过滤器中包含相应的功能
三个初始化参数
1、config参数:指定要加载的配置文件。逗号分割。
2、actionPackages参数:指定Action类所在的包空间。逗号分割。
3、configProviders参数:自定义配置文件提供者,需要实现ConfigurationProvider接口类。逗号分割.
《filter》
《filter-name》struts2《/filter-name》
《filter-class》
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
《/filter-class》
《init-param》
《param-name》actionPackages《/param-name》
《param-value》com.cjm.web.action《/param-value》
《/init-param》
《/filter》
《filter-mapping》
《filter-name》struts2《/filter-name》
《url-pattern》/*《/url-pattern》
《/filter-mapping》
如果程序报类找不到异常,且后面有 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter等信息,可能是你的版本问题.解决方法是确定你的struts版本,如果是2.1.3之前的版本,用org.apache.struts2.dispatcher.FilterDispatcher,以后的版本则配置org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

apache struts2漏洞在net平台有吗


看看你的架包中是否有带struts2的 Apache Struts2作为世界上最流行的Java Web服务器框架之一,3月7日带来了本年度第一个高危漏洞——CVE编号CVE-2017-5638。其原因是由于Apache Struts2的Jakarta Multipart parser插件存在远程代码执行漏洞,攻击

如何评价apache/struts2,CVE-2016-0785


CVE-2016-0785 ,在Apache Struts的框架执行分配给某些标记属性的值的两倍的评价,因此有可能在将要再次评价时,标签的属性将被呈现的值来传递。
现在利用还没有出来,分析diff,感觉不好弄

org.apache.struts2属于哪个包


终于推出Struts2.1.x正式版,下载后按照Struts 2.0.14版进行配置,抛出异常说无法装载 (org.apache.struts2.dispatcher.multipart.MultiPartRequest),异常信息提示摘不到 org.apache.commons.fileupload.RequestContext类,搜索struts2.1.6带的所有jar包,发现RequestContext类并不在struts2-core-2.1.6.jar 中,在commons-fileupload-1.2.1.jar包中,之前struts2.0.14并不需要此包,只有在要用到上传组件的时候才需要。可能是struts2.1.6对文件上传功能的改进。因此要想正常使用struts2.1.6,至少需要如下6 个jar包:
struts2-core-2.1.6.jar
freemarker-2.3.13.jar
commons-logging-1.0.4.jar
ognl-2.6.11.jar
xwork-2.1.2.jar
commons-fileupload-1.2.1.jar
要注意的是,Struts 2.1.6的最小jar包配置比Struts2.0.14多了一个commons-fileupload-1.2.1.jar。
如果要使用Struts2的注释功能,在Struts2.0.14中只要引用了struts2-core-2.1.6.jar文件即可,而在 struts2.1.6中还需要引用struts2-convention-plugin-2.1.6.jar文件,而且注释类的包也变了(又增加了一些新的注释类),Struts2.0.14中的注释类在org.apache.struts2.config包中,而struts2.1.6的注释类在 org.apache.struts2.convention.annotation包中。除此之外,有些注释的属性名也变了,如Result注释在 struts2.0.14中有一个value属性,表示一个要转入的URL,而
Struts2.1.6的Result注释中使用location属性代替了value属性(不再有value属性了),但它们的使用方法相同。
因此,读者在使用Struts2.1.x时要注意,这一版本与Struts2.0.x并不完全兼容(但大部分还是兼容的)。据我的经验,Struts2.1.x版本将是比较稳定的一个Struts2版本,因此,Struts1.x就是在Struts1.1版本才开始流行起来的。
以前也测试过Struts2的其他版本,经部分测试,目前Struts 2分为三个版本阶段:Struts 2.0.9及以前版本、Struts2.0.10至Struts2.0.14、Struts 2.1.x,这三类版本都不太兼容,如果确定使用struts2来开发程序,建议直接使用struts2.1.6及以后的版本,这是一个比较稳定的Struts2版本。

Apache的Struts2 架构还有什么用处


Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。

  • 简单的基于POJO的操作

  • 简化的可测试性

  • 线程安全

  • AJAX支持

  • jQuery插件

  • Dojo Toolkit插件(不建议使用)

  • Ajax客户端验证

  • 模板支持

  • 支持不同的结果类型

  • 插件易于扩展

  • REST插件(基于REST的动作,无扩展名的URL)

  • 常规插件(通过约定和注释进行动作配置)

  • Spring插件(依赖注入)

  • Hibernate插件

  • 支持设计

  • JFreechart插件(图表)

  • jQuery插件(Ajax支持,UI小部件,动态表,图表)

  • Rome plugin

  • plugin


怎么修复apache struts 2 漏洞


官方建议修复方案:升级最新版本 struts-2.3.15.1
但通常现有系统升级,可能导致不稳定及与其他框架比如spring等的不兼容,成本较高。

怎样查出是否使用Apache struts 2


找到struts.jar 文件,然后在MATE-INF的MAINIFEST.MF中,找到Implementation-version,它后面显示的就是所用的记录。

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器来建立模型与视图的数据交互。Struts
2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts
2的体系结构与Struts 1的体系结构差别巨大。

Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

struts2中关于result的返回类型一般我们是转发到一个jsp页面或者是html页面等,但是struts2中的result的返回类型还有redirect,redirectAction,chain。对于这三种返回类型之间肯定是有区别的,下面我们来看看关于redirect
redirectAction chain这三种struts2的返回类型之间的区别。当使用type=“redirectAction”
或type=“redirect”提交到一个action并且需要传递一个参数时。


免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部