服务器遇到内部错误(),导致无法完成此请求 - tomcat服务器

时间:2016-06-09 20:53:18

标签: java security tomcat

我有一个Java项目,我发现了一个漏洞并尝试使用ESAPI解决它,但是当我执行它时,我发现了以下问题:

我添加了这段代码:

<% import org.apache.commons.lang.StringEscapeUtils;%>

这个代码制作问题和其余代码依赖于它。 第一个代码是:

boolean bReportFormat=(request.getParameter("reportFormat")!=null);
f.setGroupingUsed(bReportFormat);

,第二个代码是:

<% import org.apache.commons.lang.StringEscapeUtils;%>
  <% String bReportFormat=(request.getParameter("reportFormat")!=null);
String input = request.getParameter("reportFormat");
String Comment = ESAPI.validator().getValidInput("reportFormat", input, "CommentRegex", 400, false, errorV);
String bReportFormat= ESAPI.encoder().encodeForHTML( Comment );



f.setGroupingUsed(bReportFormat);



%>

我正在使用ESAPI,而不添加任何其他内容。 请有谁帮助解决方案,谢谢。

1 个答案:

答案 0 :(得分:0)

参见How do you import classes in JSP? JSP中导入的正确语法是 <%@ page import="org.apache.commons.lang.StringEscapeUtils" %> 您需要page关键字和import=选项,而不需要分号。

正常&lt; %%&gt;语法用于定义内联代码 - 将其视为在Java方法体内注入代码 。方法内不允许import个语句 - 它们必须在源文件的顶部完成。 (Tomcat将JSP源转换为Java源文件。)<% page %>指令用于发出页面级声明,例如Java import语句。