2017-04-19 13 views
1

structure of employee details table HTTP狀態500的內部錯誤 - 發生異常處理JSP頁/call_employee_data.jsp在管線44發生異常處理JSP頁...服務器遇到阻止其完成此請求

類型異常報告

消息的異常發生處理JSP頁/call_employee_data.jsp在管線44

描述服務器遇到阻止其完成此請求一個內部錯誤。

例外

org.apache.jasper.JasperException: An exception occurred processing JSP page /call_employee_data.jsp at line 44 

41: <%} 
42: %> 
43: 
44: <jsp:include page="employee_data.jsp"></jsp:include> 
45: <jsp:include page="footer.jsp"></jsp:include> 
46: </div> 
47: </body> 

堆棧跟蹤:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:525) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 

根源

org.apache.jasper.JasperException: An exception occurred processing JSP page /employee_data.jsp at line 70 

67:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px'>"+rs.getString(4)+"</td>"); 
68:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none;border-right:none; width:125px'>"+rs.getString(5)+"</td>"); 
69:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:175px''>"+rs.getString(6)+"</td>"); 
70:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:125px''>"+rs.getDate(8)+"</td>"); 
71:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(7)+"</td>"); 
72:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getDate(9)+"</td>"); 
73:     out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(10)+"</td>"); 

堆棧跟蹤:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:525) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:924) 
org.apache.jsp.call_005femployee_005fdata_jsp._jspService(call_005femployee_005fdata_jsp.java:120) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 

根源

javax.servlet.ServletException: java.sql.SQLException: Value '' can not be represented as java.sql.Date 
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:868) 
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:797) 
org.apache.jsp.employee_005fdata_jsp._jspService(employee_005fdata_jsp.java:152) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:924) 
org.apache.jsp.call_005femployee_005fdata_jsp._jspService(call_005femployee_005fdata_jsp.java:120) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 

根源

java.sql.SQLException: Value '' can not be represented as java.sql.Date 
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073) 
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987) 
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982) 
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927) 
com.mysql.jdbc.ResultSetRow.getDateFast(ResultSetRow.java:141) 
com.mysql.jdbc.ByteArrayRow.getDateFast(ByteArrayRow.java:238) 
com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2194) 
com.mysql.jdbc.ResultSetImpl.getDate(ResultSetImpl.java:2147) 
org.apache.jsp.employee_005fdata_jsp._jspService(employee_005fdata_jsp.java:126) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:924) 
org.apache.jsp.call_005femployee_005fdata_jsp._jspService(call_005femployee_005fdata_jsp.java:120) 
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) 
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 

請幫助。這裏是call_employee_data.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<link href="stylesheet.css" rel="stylesheet" type="text/css"> 
<title>Hospital Management System</title> 
</head> 
<body> 
<% 
Object a=session.getAttribute("utype"); 
String usertype=String.valueOf(a); 
%> 
<div id="div_index"> 
<jsp:include page="header.jsp"></jsp:include> 
<% 
if(usertype.equals("admin")){ 

%> 

<jsp:include page="menubar_admin.jsp"></jsp:include> 

<%} 
else if(usertype.equals("patient")){ 
%> 
    <jsp:include page="menubar_patient.jsp"></jsp:include> 

    <%} 
    else if(usertype.equals("doctor")){ 
    %> 
    <jsp:include page="menubar_doctor.jsp"></jsp:include> 
    <%} 

    else if(usertype.equals("staff")){ 
    %> 
    <jsp:include page="menubar_staff.jsp"></jsp:include> 
    <%} 
    else{%> 
    <jsp:include page="menubar.jsp"></jsp:include> 
<%} 
%> 

<jsp:include page="employee_data.jsp"></jsp:include> 
<jsp:include page="footer.jsp"></jsp:include> 
</div> 
</body> 
</html> 

employee_data.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title></title> 
<link href="stylesheet.css" rel="stylesheet" type="text/css"> 
</head> 

<%@ page import="java.io.*" %> 

<%@ page import="java.util.*" %> 
<%@ page import="java.sql.*" %> 
<%@ page import="package_clsdal.*;" %> 
<body> 
<div id="grid"> 
<table align="center" cellspacing="2" cellpadding="2"> 

    <%  
     clsdal obj_clsdal=new clsdal(); 
      ResultSet rs = null ; 
      ResultSetMetaData rmd = null ; 
      obj_clsdal.connect(); 
      int colcount,coll; 

      rs=obj_clsdal.execSQL("select * from employee_details"); 
      rmd=rs.getMetaData(); 
      colcount=rmd.getColumnCount(); 



      if(rs!=null) 
      { 
      rmd=rs.getMetaData(); 
      coll=rmd.getColumnCount(); 
//   out.println("<br> <br>"); 
      out.println("<table style='width: auto; height: auto;' align='center' border='0' cellspacing='0' cellpadding='0'>"); 
      out.println("<p align='center' style='font-size:20px;'><b>Employee Details</b></p>"); 
      for(int i=1;i<=coll;i++) 
       { 

       out.println("<th style='text-align:center; border: solid 1px #000; border-bottom:none; background-color:#072933 '><font color=#FFFFFF>"+rmd.getColumnLabel(i)+"</font></th>"); 

      } 

      int i=1; 
      while(rs.next()) 
      { 
       i++; 
       for(int n=i;n<=i;n++) 
       { 

       if(i%2==0) 
       { 
        out.println(" <tr>"); 
       } 
       else 
       { 
        out.println(" <tr>"); 
       }     

       //out.println("<tr>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:75px'>"+rs.getString(1)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px'>"+rs.getString(2)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px'>"+rs.getString(3)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px'>"+rs.getString(4)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none;border-right:none; width:125px'>"+rs.getString(5)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:175px''>"+rs.getString(6)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:125px''>"+rs.getDate(8)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(7)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getDate(9)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(10)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(11)+"</td>"); 
       out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; width:100px''>"+rs.getString(11)+"</td>"); 
      out.println("</tr>"); 
      } 
      } 

      out.println("</table>"); 
      } 



    %> 
</table> 

</div> 
</body> 
+0

你有幾個這樣的電話。getDate(index)',則錯誤消息會通知您某些或所有行中列(8和9)中的值不能表示爲「java.sql.Date」對象。 – Titus

+0

此外,看起來像那些日期值根據錯誤消息是空的'值''不能表示爲java.sql.Date' –

+0

你可以粘貼employee_details表的結構嗎? – ProgrammerBoy

回答

0

<c:if test="${not empty rs.getDate(8)}"> out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:125px''>"+rs.getDate(8)+"</td>"); </c:if>

0

這裏是我觀察到的一些事情。

  1. 看看你employee_data.jsprs.getXXX()。你沒有按照訂單。對於select * from employee_details,當調用rs.getXXX()時,應使用resultset的正確方法。如果你看看你的桌子,你只有9日和10日,所以rs.getDate(8)是不正確的。使用rs.getDate()只有第9和第11欄即rs.getDate(9)rs.getDate(11)

    out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:125px''>"+rs.getDate(8)+"</td>"); //??? 
        out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(7)+"</td>"); //?? 
        out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getDate(9)+"</td>"); 
        out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(10)+"</td>"); 
        out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; border-right:none; width:100px''>"+rs.getString(11)+"</td>"); 
        out.println("<td style='text-align:center; border: solid 1px #000; border-top:none; width:100px''>"+rs.getString(11)+"</td>"); //???? 
    
  2. 不要使用select *。其一種不好的做法。將來如果您的employee_details有更多的列,那麼您需要更改代碼以適應這些新列。使用select EmployeeID,Password,<otherfield> from employee_details

  3. 使用rs.getXXX(index)中的索引時要小心。它可能會導致錯誤。相反,您可以使用rs.getXXX(columnnameintbl)。例如,您可以使用rs.getString("EmployeeID")而不是rs.getString(1)

希望這有助於!

相關問題