struts2(struts2.0的工作原理)
本文目录
- struts2.0的工作原理
- struts1和struts2的区别
- struts2原理
- 求struts2最新版下载
- struts2文件下载,不是要固定格式的,我的文件名称和格式都是从数据库里读出来的
- struts-json-plugin.jar从哪里下载 我的struts2.1.2用的,需要版本一致吗,能不能给个官网下载地址
- struts2的jar包在哪里
- struts2 下载文件时点击另存为然后点击取消报java.io.IOException异常
- struts2远程命令执行s2-045什么时候发现的
struts2.0的工作原理
客户端发出一个请求,服务器端StrutsPreparedAndExceuteFilter接收请求。
如果该请求是一个以 .action 结尾请求,则Struts2将请求转发至相应的Action,进行数据类型转换,如果数据类型转换出错,则返回到 input 指定的结果页面。
如果数据类型转换没有出错,则调用setXX 方法进行设值,如果使用了validate()验证方法(或者是使用了验证框架),则进行相应的验证。
如果验证出错,回到 input 指定的结果页面。
如果没有使用验证,或者验证没有出错,则执行 execute() 方法,返回到相应的页面。
扩展资料:
Struts2流程注解
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。
经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。
拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
参考资料来源:百度百科-Struts 2
struts1和struts2的区别
一、主体不同
1、struts1:是Apache软件基金会(ASF)赞助的一个开源项目。它最初是Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。
2、struts2:Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。
二、框架不同
1、struts1:通过采用Java Servlet/JSP技术,实现了基于Java EE Web应用的Model-View-Controller(MVC)设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
2、struts2:以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。
三、Action处理不同
1、struts1:Action是单实例的,一个Action的实例处理所有的请求。
2、struts2:Struts 2的Action是一个请求对应一个实例(每次请求时都新new出一个对象),没有线程安全方面的问题。
参考资料来源:百度百科-struts
参考资料来源:百度百科-Struts 2
struts2原理
Struts2的工作原理(工作流程)其实用最简单的七个步骤:(1)客户端在浏览器中输入一个url地址;(2)这个url请求通过
求struts2最新版下载
这是struts2.1.8,也是现在用的比较多的版本:http://apache.freelamp.com/struts/binaries/struts-2.1.8.1-all.zip
最下版为2.1.8.1这是apache提供的下载地址:http://apache.freelamp.com/struts/binaries/struts-2.1.8.1-all.zip
struts2文件下载,不是要固定格式的,我的文件名称和格式都是从数据库里读出来的
可以在输出中直接用Response输出文件流Response.Clear();Response.AddHeader("ContentType=" + ContentType +" ChartSet=utf-8");Response.AddHeader("Att-File="+FileName);//WebHeader可能不对,这个文件头你可以再查一下资料Response.Write(OutStream);Response.Flush();尽供参考,提供一个思路
struts-json-plugin.jar从哪里下载 我的struts2.1.2用的,需要版本一致吗,能不能给个官网下载地址
http://struts.apache.org/download.cgi 官网提供最新的2.5.2页面中点击: struts-2.5.2-lib.zip (19MB) 下载解压后 找找有你想要的jarmaven 中最低版本也就是2.1.8《!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-json-plugin --》《dependency》 《groupId》org.apache.struts《/groupId》 《artifactId》struts2-json-plugin《/artifactId》 《version》2.1.8《/version》《/dependency》
struts2的jar包在哪里
你是要下载struts2的jar包吗?那么访问struts2的官网即可http://struts.apache.org/点击Download,进入下载页面,上面是struts2的下载连接,下面是struts1的下载连接struts-2.3.24-all.zip 所有包,包括下面4个部分(jar包,源代码,文档,例子)struts-2.3.24-apps.zip 例子struts-2.3.24-lib.zip jar包和其他一些依赖jar包struts-2.3.24-docs.zip 文档struts-2.3.24-src.zip 源代码
struts2 下载文件时点击另存为然后点击取消报java.io.IOException异常
这个异常并不影响程序的正常运行,主要原因是:服务器段已经在做写操作了,只是客户端一接受就关闭了socket连接,tomcat会抛出ClientAbortException,所以只需要屏蔽这个异常即可,两种方式,在struts2中进行相关配置例如: 《struts》 《!-- 下载文件的Action定义 --》 《action name="download" class="action.DownLoadAction"》 《!-- 设置文件名参数,由页面上传入 --》 《param name="fileName"》《/param》 《result name="success" type="stream"》 《!-- 下载文件类型定义 --》 《param name="contentType"》text/plain《/param》 《!-- 下载文件处理方法 --》 《param name="contentDisposition"》 attachment;filename="${downloadFileName}" 《/param》 《!-- 下载文件输出流定义 --》 《param name="inputName"》downloadFile《/param》 《/result》 《exception-mapping result="client-abort-exception" exception="org.apache.catalina.connector.ClientAbortException"》《/exception-mapping》《/action》 《/struts》 《package name="default" extends="struts-default" abstract="true"》 《global-results》 《result name="client-abort-exception"》/abort.jsp《/result》 《/global-results》《/package》其中 :《exception-mapping result="client-abort-exception" exception="org.apache.catalina.connector.ClientAbortException"》《/exception-mapping》 《result name="client-abort-exception"》/abort.jsp《/result》含义就是截获异常发送到一个空页面。另一种方法就是修改tomcat中有关此异常的jar包中的ClientAortException,忽略此异常,或者另进行处理,如果不用tomcat而是resin。那么resin有一个参数ignore-client-disconnect,直接设置一下即可,不需要做上述操作。
struts2远程命令执行s2-045什么时候发现的
看看你的架包中是否有带struts2的ApacheStruts2作为世界上最流行的JavaWeb服务器框架之一,3月7日带来了本年度第一个高危漏洞——CVE编号CVE-2017-5638。其原因是由于ApacheStruts2的JakartaMultipartparser插件存在远程代码执行漏洞,攻击者可以在使用该插件上传文件时,修改HTTP请求头中的Content-Type值来触发该漏洞,导致远程执行代码。
更多文章:
qq群文件下载失败(解决QQ群文件下载失败的方法_QQ群文件下载失败怎么办)
2024年6月7日 01:06
手机怎么上facebook(苹果可以和安卓开facebook吗)
2024年1月18日 22:20
世界上第一个电子人,是如何靠声音识别不同的颜色?一位科学家把自己打造成半肉半机器人,这是138亿年以来的首个电子人吗
2024年5月23日 03:26
山西省学校安全教育平台(山西省高中和初中的安全教育平台一样吗)
2023年12月6日 19:00
android开发教程(广东北大青鸟:自学Android开发怎么快速入门)
2023年9月11日 15:40
泰拉瑞亚钓鱼人任务大全及完成方法?明日之后钓鱼第一个任务收藏图腾怎么做
2023年6月17日 18:00
曙光女神出装(曙光女神怎么出装,详细一点,还有走法,怎么打团战、单挑,请高手指教,谢谢!)
2023年7月1日 17:00
touch pro(关于多普达touch pro自动关机问题)
2023年7月6日 03:20