`
qiushily2030
  • 浏览: 3879 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Struts2慢的原因

阅读更多
Struts2的慢要追溯到它的前身Webwork了,目前已知的主要原因包括:复杂的拦截器链、OGNL表达式解析、Struts2的标签等。
spring + spring JdbcTemplate + spring mvc

struts2的核心是xwork,因为用到了ThreadLocal模式,所以那些Web容器中的对象会跟着当前Thread一跟到底,所以造成了struts2是很占用内存的,尤其是高并发的情况下,如果request的生命周期很长,你会看到内存不断上升。这个是struts2在性能上的一个问题,但是这个却能支撑起其他web框架无法支持的功能。
struts2因为是使用instance-per-request的因此会导致大量的短生命周期对象产生而需要对jvm参数调整。
struts2的default interceptor stack,按需裁剪吧,因为没调用一次,都会触发这个拦截器。
分享到:
评论
5 楼 sw1982 2010-06-26  
裁剪默认拦截器栈确实是个好办法。。基本用不上那么复杂的功能
4 楼 qiushily2030 2010-06-25  
mathfox 写道
那说说你的解决方案啊?

呵呵,那随便说几点吧
       复杂的拦截器链、最后一句回答了。
        OGNL表达式解析、用的是反射机制,JVM正在优化. 现在处理速度比之前快了很多.
        Struts2的标签:这个更简单了,你或个标签就行了 jstl、还是什么。
其实这些东西出来,有利有弊。 大多项目还是根据进度选择,。
3 楼 kjj 2010-06-25  
人云亦云,鹦鹉学舌而已!!
2 楼 zhxing 2010-06-25  
引用

Struts2的慢要追溯到它的前身Webwork了,目前已知的主要原因包括:复杂的拦截器链、OGNL表达式解析、Struts2的标签等。


这个不知道lz有没怎么测,struts2 中有开启效率统计的。去测一下,拦截器那并不慢,而且可以配置。

灵活性和性能之间肯定会有一些取舍的。。
1 楼 mathfox 2010-06-25  
那说说你的解决方案啊?

相关推荐

    Struts2漏洞利用工具

    Struts2是一个基于MVC设计模式的Web应用框架,但2存在远程代码执行的漏洞,现在Struts2漏洞检测工具2017版增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过...

    Migrating From Struts1 To Struts2

    迁移到Struts2的主要原因包括: - **性能提升**:Struts2在执行效率方面进行了优化,能够更好地处理高并发请求。 - **功能增强**:Struts2引入了更多的内置特性,如拦截器、结果类型等,减少了自定义组件的需求。 - ...

    struts2重要知识点原理

    Struts2是一个流行的Java web开发框架,主要用于构建MVC(模型-视图-控制器)架构的应用程序。它的设计目标是简化开发过程,提供强大的验证和国际化功能,以及灵活的插件架构。Struts2的核心是基于拦截器的Action...

    Struts2初步使用总结

    从公司层面来看,选择使用Struts2通常基于以下几个原因: 1. **企业需求**:许多大型项目已经基于Struts2开发,为了与现有系统兼容或保持一致性,继续使用Struts2是一个自然的选择。 2. **开发效率**:Struts2提供...

    Struts2漏洞检查工具2017版

    增加S2-048 Struts 2.3.X 支持检查官方示例struts2-showcase应用的代码执行漏洞,参考地址:http://127.0.0.1:8080/struts2-showcase/integration/saveGangster.action 2017-03-21: 增加S2-046,官方发布S2-046和S2...

    struts2+fckeditor

    Struts2是一个非常流行的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。FCKeditor则是一款强大的在线文本编辑器,它允许用户在网页上进行富文本编辑,包括插入图片、链接等操作。在Struts2框架中...

    Struts2漏洞检查工具2017版.zip

    Struts2漏洞检查工具2017版 V2.0 by 安恒信息应急响应中心。支持S2-032,S2-037,S2-016,S2-019,S2-045,S2-046,S2-048漏洞验证。有对漏洞的命令执行功能、文件上传功能。还有批量验证功能。增加S2-046,官方发布S2-046...

    struts2-016/017漏洞解决

    Struts2是一个非常流行的Java Web开发框架,它提供了一种模型-视图-控制器(MVC)架构,便于开发者创建动态、数据驱动的Web应用程序。然而,任何软件都可能存在安全漏洞,Struts2也不例外。"struts2-016/017漏洞"指...

    struts2 跳转至404 页面的解决方案

    针对"Struts2 跳转至404 页面的解决方案"这个主题,我们将深入探讨可能的原因和解决方法。 首先,我们来看`struts.xml`文件,这是Struts2的核心配置文件,负责定义Action、结果类型、拦截器等关键组件。当Struts2...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    Struts2防止重复提交解决方案

    Struts2 是一款流行的Java Web MVC框架,用于构建企业级应用程序。在Struts2中,防止重复提交是一个重要的问题,因为它可能导致数据不一致性和服务器资源的浪费。本文将详细介绍如何在Struts2中解决这个问题,以及...

    struts2配置文件加载顺序

    Struts2是一个流行的Java web开发框架,它提供了一种优雅的方式来组织和控制应用程序的行为。配置文件在Struts2中起着至关重要的作用,它们定义了请求如何被映射到特定的Action,以及如何处理结果。了解Struts2配置...

    Struts2漏洞检测(带自己编写使用说明一看就上手)

    2. **S2-016**(CVE-2013-2263):此漏洞允许攻击者通过恶意的OGNL表达式执行任意代码,原因是未正确过滤用户输入。 3. **S2-048**(CVE-2017-5638):这个漏洞是由于解析JSON时的反序列化问题,使得攻击者可以通过...

    struts2 实现文件批量上传

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。文件批量上传是Web应用中常见的需求,特别是在处理大量数据或者用户需要上传多张图片等场景下。本项目实现了使用Struts2进行文件批量...

    uploadify3与struts2结合实现有进度条文件上传实例

    这是根据uploadify3 2结合struts2搭建的文件上传环境 可以直接导入eclipse运行 每步实现基本都加了注释 以下是我碰到的问题: 1 判断session是否失效 本实例没测试这个问题 但在工作项目中碰到了 但原因在这里...

    Struts2漏洞利用工具2013版V1.2

    原因是Struts2框架在处理用户输入时,没有进行充分的数据验证和过滤,导致攻击者可以构造特定的HTTP请求,使得服务器端执行任意代码。 S2-017,也称为“CVE-2013-2231”,同样是一个远程代码执行漏洞,影响了Struts...

    struts2开发遇到的问题

    这个严重错误通常涉及到Struts2配置问题,可能的原因包括: - `struts.xml`中的包路径错误。 - 工程中导入了不兼容的`commons-fileupload`包。确保使用与Struts2版本兼容的库。 以上就是Struts2开发过程中常见的...

Global site tag (gtag.js) - Google Analytics