Java 异常的根本原因是什么;org.apache.jasper.runtime.PageContextImpl.handlePageException“是吗?”;?

Java 异常的根本原因是什么;org.apache.jasper.runtime.PageContextImpl.handlePageException“是吗?”;?,java,jsp,exception-handling,Java,Jsp,Exception Handling,异常日志 javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536) at org.apache.jsp.FileUploadFormatAdd_jsp._jspService(FileUploadFormatAdd_jsp.java:620) at org.apache.jasper.runtime.HttpJ

异常日志

javax.servlet.ServletException
at  org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:536)
at org.apache.jsp.FileUploadFormatAdd_jsp._jspService(FileUploadFormatAdd_jsp.java:620)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
下面给出了jsp代码的一些摘录

      </HEAD>
  <BODY leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" bgcolor="#ffffff" onLoad="document.FileUploadFormatAdd.reqdFileFormatName.focus();">
 <FORM method=post name="FileUploadFormatAdd" action="FileUploadFormatAdd.jsp" onSubmit="return validate(this);" >



--%>

文件格式名 字段名 最小长度 最大长度 类型 允许将来的日期吗 允许过期吗 是必填字段 取决于字段名 取决于字段值(逗号分隔的值) 最小值 最大值 现场秩序 Sql查询 挑选 密码 CodeNoSQl 日期(年月日) 电子邮件 浮动 数 正文

在“javax.servlet.ServletException”后面什么都没有?服务器日志文件中有其他信息吗

第一个非常可疑的地方是代码的这一部分,删除了HTML位

Iterator iterFieldValues=listOfFields.iterator();
for (int i=0;i<noOfRows;i++){
    String fieldName=(String)iterFieldValues.next();
    String minLength=(String)iterFieldValues.next();
    String maxLength=(String)iterFieldValues.next();
    String fieldType=(String)iterFieldValues.next();
    ...
}
Iterator iterFieldValues=listofelds.Iterator();

for(inti=0;i+1)用于实际阅读和理解这一混乱局面。当我开始我当前的项目时,OP中的大多数JSP看起来都像这样;(与我正在处理的许多项目相比,上面的代码实际上非常干净易读;-)
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
    <td width="1%" valign="top">
    <%-- Modified by Jasleen
        <!-- Left Menu Start -->
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tr>
                <td bgcolor="#dddddd" width="1%"><img src="images/transp.gif" height="1" width="160"></td>
            </tr>
            <tr>
                <td width="1%">
                    <!-- Start of Header Menu -->

                    <!-- End of Header Menu -->
                </td>
            </tr>
        </table>
        <!-- Left Menu End -->
        --%>
    </td>
    <td width="1%" valign="top">
        <!-- Spacer (Left Menu and Main) Start -->
        <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <tr>
                <td width="1%"><img src="images/transp.gif" height="1" width="20"></td>
            </tr>
        </table>
    </td>
    <td width="99%" valign="top">
        <table border="0" cellpadding="0" cellspacing="0" width="100%">
            <tr>

                <td class="pageheader">

               </td>
                    </tr>
        </table>

        <hr color="#cccccc" size="0" noshade width="99%" align="center">

        <table border="0" width="100%" cellspacing="0" cellpadding="0">
            <td>
            FileFormatName
            <input type="text" name="reqdFileFormatName">
            </td>
        </table>


        <table border="0" width="100%" cellspacing="0" cellpadding="0">
        <tr>
        <td>Field Name</td>
        <td>Min Length</td>
        <td>Max Length</td>
        <td>Type</td>
        <td>Is Future Date Allowed</td>
        <td>Is Past Date Allowed</td>
        <td>Is Required Field</td>
        <td>Depends Upon Field Name</td>
        <td>Depends Upon Field Value(Comma Separated Values)</td>
        <td>Min Value</td>
        <td>Max Value</td>
        <td>Field Order</td>
        <td>Sql Query</td>
        </tr>

        <input type="hidden" name="noOfRows" value="<%=noOfRows%>">
        <%
        Iterator iterFieldValues=listOfFields.iterator();
        %>
        <%for (int i=0;i<noOfRows;i++){%>
        <tr>
        <%
        String fieldName=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="reqdFieldName"+i%>" value="<%=(fieldName!=null)?fieldName:""%>" size="20" MAXLENGTH="100">
        </td>
        <%
        String minLength=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="minLength"+i%>" value="<%=(minLength!=null)?minLength:""%>" size="10" MAXLENGTH="5">
        </td>
        <%
        String maxLength=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="maxLength"+i%>" value="<%=(maxLength!=null)?maxLength:""%>" size="10" MAXLENGTH="5"> 
        </td>
        <%
        String fieldType=(String)iterFieldValues.next();
        %>

        <td>
        <select name="<%="reqdType"+i%>" size="20" onchange='EnableFields(this.name)'> 
        <option value="">Select<option>
        <option value="CodeNo" <%=fieldType.equals("CodeNo")?"selected":"" %> >CodeNo</option>
        <option value="CodeNoSQl" <%=fieldType.equals("CodeNo")?"selected":"" %>>CodeNoSQl</option>
        <option value="Date(dd/mm/yyyy)" <%=fieldType.equals("Date(dd/mm/yyyy)")?"selected":"" %>>Date(dd/mm/yyyy)</option>
        <option value="Email" <%=fieldType.equals("Email")?"selected":"" %>>Email</option>
        <option value="Float" <%=fieldType.equals("Float")?"selected":"" %>>Float</option>
        <option value="Number" <%=fieldType.equals("Number")?"selected":"" %>>Number<option>
        <option value="Text" <%=fieldType.equals("Text")?"selected":"" %>>Text<option>
        </select>
        </td>

        <%
        String isFutureDateAllowedValue=(String)iterFieldValues.next();
        %>

        <td>
        <input type="checkBox" value="1"  name="<%="isFutureDateAllowed"+i%>" <%=isFutureDateAllowedValue.equals("1")?"checked":""%> disabled > 
        </td>
        <%
        String isPastDateAllowedValue=(String)iterFieldValues.next();
        %>
        <td>
        <input type="checkBox" value="1" name="<%="isPastDateAllowed"+i%>" <%=isPastDateAllowedValue.equals("1")?"checked":""%> disabled > 
        </td>
        <%
        String isReqdFieldValue=(String)iterFieldValues.next();
        %>

        <td>
        <input type="checkBox" value="1"  name="<%="isReqdField"+i%>" <%=isReqdFieldValue.equals("1")?"checked":""%>  > 
        </td>
        <%
        String dependsUponFieldName=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="dependsUponFieldName"+i%>" value="<%=(dependsUponFieldName!=null)?dependsUponFieldName:""%>" size="20" MAXLENGTH="100"> 
        </td>
        <%
        String dependsUponFieldValue=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="dependsUponFieldValue"+i%>" value="<%=(dependsUponFieldValue!=null)?dependsUponFieldValue:""%>" size="20" MAXLENGTH="500" >
        </td>
        <%
        String minValue=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="minValue"+i%>" value="<%=(minValue!=null)?minValue:""%>" size="10" MAXLENGTH="10">
        </td>
        <%
        String maxValue=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="maxValue"+i%>" value="<%=(maxValue!=null)?maxValue:""%>" size="10" MAXLENGTH="10">
        </td>
        <%
        String fieldOrder=(String)iterFieldValues.next();
        %>
        <td>
        <input type="text"  name="<%="reqdFieldOrder"+i%>" value="<%=(fieldOrder!=null)?fieldOrder:""%>" size="10" MAXLENGTH="3"> 
        </td>
        <%
        String sqlQuery=(String)iterFieldValues.next();
        %>

        <td>
        <input type="text"  name="<%="sqlQuery"+i%>" value="<%=(sqlQuery!=null)?sqlQuery:""%>" size="10" MAXLENGTH="1000" disabled> 
        </td>
        </tr>
        <%}%>

        <tr>
        </tr>
        </table>
        <input type="hidden" name="changeType" value="abc">
        <input name="addRow" type="button" value=" + "        onclick="this.form.changeType.value='addRow';document.FileUploadFormatAdd.submit()"></input>
        <input name="deleteRow" type="button" value=" - " onclick="this.form.changeType.value='deleteRow';document.FileUploadFormatAdd.submit()"></input>
Iterator iterFieldValues=listOfFields.iterator();
for (int i=0;i<noOfRows;i++){
    String fieldName=(String)iterFieldValues.next();
    String minLength=(String)iterFieldValues.next();
    String maxLength=(String)iterFieldValues.next();
    String fieldType=(String)iterFieldValues.next();
    ...
}