2016-06-09 94 views
-3

我有一個項目與Java,我發現一個漏洞,並試圖解決它使用ESAPI,但是當我執行它時,我發現以下問題:服務器遇到內部錯誤(),阻止它履行此請求 - tomcat服務器

我加入這個代碼:

<% 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作爲不添加其他任何解釋。 請誰有解決方案來幫助,謝謝。

+0

語法錯誤。修理它。不要在此張貼文字圖片,尤其不要鏈接到文字圖片。發佈文字。 – EJP

回答

0

How do you import classes in JSP? 的正確語法在JSP中導入 <%@ page import="org.apache.commons.lang.StringEscapeUtils" %> 您需要page關鍵字和import=選項,別無分號。

正常的<%%>語法用於定義內嵌代碼 - 將其視爲注入代碼內部的 Java方法的主體。內部方法不允許使用import語句 - 它們必須在源文件的頂部完成。 (Tomcat將JSP源文件轉換爲Java源文件。)<% page %>指令用於發出頁面級聲明,如Java import語句。

+0

感謝您的幫助。 我已經做了你所說的,但問題沒有解決 是否有一些文件應該添加到工作的ESAPI? – Mohammed

+0

@Mohammed - 請提供更多關於您現在獲得什麼故障的信息。如果您看到相同的消息,我相信您的crosstab.jsp文件在服務器上沒有正確更新。 – djb

相關問題