缺陷一:freemarker的变量必须有值,没有被赋值的变量就会抛出异常。
freemarker的FAQ上面冠冕堂皇的说,未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名,或者其他变量错误。但是实际的效果是:带来的是非常大的编程麻烦,程序里面几乎所有可能出现空值的变量统统需要加上${xxx?if_exists},有些循环条件还需要写if判断,这样不但没有杜绝应该杜绝的错误,反而极大增加了编程的麻烦。
缺陷二:freemarker的map限定key必须是string,其他数据类型竟然无法操作。
缺陷三:freemarker为了编程方便把不可序列化的东西往session里面放。
freemarker支持在页面里面直接操作Session,request等,例如${Session[...]},方便确实很方便,但是一旦需要做群集,就会报错。
- 浏览: 662494 次
- 性别:
- 来自: 北京
最新评论
-
mikzhang:
抱歉,写这篇文章时,博主开发的程序只面对IE浏览器,故没考虑其 ...
JS 中改变confirm默认按钮提示“确定""取消" -
poterliu:
测试过了,发现execScript方法只支持IE浏览器。目前已 ...
JS 中改变confirm默认按钮提示“确定""取消"
相关推荐
Java 代码审计是软件开发过程中的一个重要步骤,它可以帮助开发者发现和修复代码中的漏洞和缺陷。在本文中,我们将对 OFCMS 1.1.2 后台存在的 Freemarker 模板命令注入漏洞进行分析。 漏洞概述 OFCMS 是一个基于 ...
Spring MVC支持多种视图技术,如JSP、Freemarker等,并提供了强大的数据绑定和验证机制。 #### 1.3 MyBatis框架 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis消除了几乎所有的...
Jtest是一种自动化测试工具,它可以帮助测试人员发现软件中的缺陷并改进代码质量。结合JavaDoc和FreeMarker技术,Jtest可以用于执行测试,并提供相关信息用于生成测试文档。 本文的作者是郭晓云,来自国防大学政治...
它们不依赖特定的表现层技术,例如JSP、Velocity或FreeMarker,这意味着开发者可以跨多种模板语言使用这些标签,实现代码的复用和高效开发。 然而,正是这种灵活性和便利性为s2-029漏洞打开了大门。在分析s2-029...
本资源是一个基于Java Web技术的基础平台考试系统,旨在解决传统纸质考试的缺陷,提供一个在线考试平台,满足当前考试形式的需求。该系统使用Java Web技术栈开发,前端使用HTML、JavaScript和JSP等技术,后端使用...
- 项目测试:包括测试方法和使用JIRA进行缺陷管理。 二、技术训练项目 - 员工信息录入(基础项目):利用JSP、Servlet、MVC、JDBC、Tomcat、Eclipse和Oracle开发简单的信息系统。 - 部门相册管理系统、部门书籍...
该源码是基于JFinal框架开发的简洁易用bug跟踪系统,集成了201个文件,涵盖31个PNG图片、25个JavaScript脚本、24个Java类、23个Freemarker模板、16个CSS样式表、12个GIF动画、9个JAR库文件、7个字体资源文件(EOT、...
然而,Struts1存在一些显著的缺陷: 1. 表现层技术单一:仅支持JSP,缺乏对其他视图技术的集成,限制了开发者的选项。 2. 与Servlet API高度耦合:Struts1的Action类直接使用Servlet API,这使得测试变得复杂,因为...
- **渲染响应**:Action执行完成后,Struts2会根据配置的视图技术(如JSP、FreeMarker等)渲染响应内容并返回给客户端。 #### 五、总结与防范措施 S2-0211漏洞的出现再次提醒我们在开发和维护Web应用程序时必须...
虽然JSP本身可以实现页面渲染,但为了提高代码可读性和维护性,青鸟留言板可能使用了模板引擎,如FreeMarker或Velocity,将业务逻辑与视图分离。 9. **错误处理与日志记录** 为了确保系统稳定性,源码中应包含...
Struts1 是最早的版本,自2003年发布以来,它在Java社区中广受欢迎,但随着时间的推移,其设计缺陷逐渐显现。 Struts1 的主要问题包括: 1. 表现层技术单一:Struts1 主要依赖JSP作为视图层技术,无法与FreeMarker...
Struts2的安装需要五个基本包:struts2-core-2.0.11.1.jar、xwork-2.0.4.jar、commons-logging-1.0.4.jar、freemarker-2.3.8.jar和ognl-2.6.11.jar。 Struts2的配置和使用与Struts1.x不同,Struts2使用...
缺陷(Bug) 1、修复:后台右上角小房子图标的前台首页链接在多站点情况下,切换站点后无变化。 2、修复:文档管理标题图、属性图、图集在火狐下点击上传按钮无反应。 3、修复:文件管理搜索功能没有保留当前文件夹...
利用MySQL数据库完成题库和答案库的建立和开发工作,利用Ajax技术提高系统的整体响应速率,利用FreeMarker表现层技术增强用户与系统之间的交互。 系统优点 1. 自动评分功能:系统可以自动对C语言编程题目进行评分...
然而,随着时间的推移,软件开发技术的进步,Web 开发需求的变化,Struts 1 设计上的缺陷逐渐显露出来,使得它越来越无法满足开发人员要求高效、灵活的开发需求。 Struts 2 框架相比 Struts 1 框架有着许多优点。...
2. **视图管理**:Struts2支持多种视图技术,如JSP、FreeMarker等,使得开发者可以灵活地设计页面展示。在购物系统中,商品详情页、购物车页、订单确认页等都可以通过Struts2动态生成。 3. **数据绑定**:Struts2...
通过编写单元测试和集成测试,确保代码质量,降低系统缺陷。 五、未来优化与扩展 5.1 分布式锁 对于并发操作,如库存管理,可引入分布式锁来保证数据一致性。 5.2 监控与日志 集成Prometheus、Grafana进行性能...
SpringMVC还支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 3. **MyBatis**:MyBatis是一个优秀的持久层框架,它简化了数据库操作,将SQL与Java代码分离,通过XML或注解方式配置和映射原生信息,使开发者可以...
对于前端展示,Spring Boot可以结合Thymeleaf或Freemarker等模板引擎来快速生成动态网页。模板引擎允许我们在HTML中嵌入表达式和控制结构,从而将后端数据动态渲染到页面上。用户可以通过这些页面浏览菜单、选择菜品...
Struts2的漏洞主要集中在其ActionMessage、ActionError和FreeMarker模板等组件上。例如,著名的S2-045、S2-048和S2-057等漏洞,都是由于框架处理用户输入时的不安全配置或解析逻辑错误导致的。这些漏洞允许攻击者...