【发布时间】:2015-11-05 10:16:08
【问题描述】:
我有一个 Apache Web 服务器 2.0 和 Tomcat 服务器 7.0。
Web 服务器将请求定向到 Tomcat 服务器。
web 和 tomcat 应用服务器都可以直接访问。
当表达式语言 ${9-4} 作为请求参数发送到 Web 服务器 URL 时,表达式将被计算并返回结果 5。
如果将相同的请求发送到 Tomcat 服务器,则结果为 ${9-4},无需评估。
例如:
网络服务器
请求:http://apache-web-server:port/context?test=${9-4}
jsp打印测试时的响应:5
Tomcat 服务器
请求:http://tomcat-server:port/context?test=${9-4}
在 jsp 中打印测试时的响应:${9-4}
Apache Web 服务器是否在此处评估表达式语言?
如何阻止服务器评估表达式语言?
我也在 Tomcat 应用程序服务器中使用 Struts 2。
如果 Apache Web 服务器具有计算表达式的能力,那么如何在 Apache Web 服务器中关闭 OGNL 表达式计算?
【问题讨论】:
-
Response when printing test in jsp两个例子都不一样!只是改变航向? tomcat 是否坐在 apache 后面?您的意思是直接将请求发送到 tomcat 有效,但通过 apache 无效? -
是的。在我的环境中,可以直接访问 tomcat 服务器,也可以通过 Apache Web 服务器访问。标题更改表明以下请求是针对 Web 服务器或 tomcat 服务器的。当我使用 Apache Web 服务器 URL 并发送 test=${9-4} 作为请求参数时,正在评估表达式。但是当同一个请求直接发送到Tomcat服务器时就不是这样了。
-
你能发帖和例子吗?
标签: java apache jsp tomcat struts2