HTTP Status 500 - An exception occurred processing JSP page /SelectScore.jsp at line 39 36: String xb; 37: int j; 38: while(rs.next()){ 39: j=rs.getInt("XB"); 40: if (j==0){ 41: xb="女"; 42: }else{ Stacktrace:--------------------------------------------------------------------------------type Exception reportmessage An exception occurred processing JSP page /SelectScore.jsp at line 39 36: String xb; 37: int j; 38: while(rs.next()){ 39: j=rs.getInt("XB"); 40: if (j==0){ 41: xb="女"; 42: }else{ Stacktrace:description The server encountered an internal error (An exception occurred processing JSP page /SelectScore.jsp at line 39 36: String xb; 37: int j; 38: while(rs.next()){ 39: j=rs.getInt("XB"); 40: if (j==0){ 41: xb="女"; 42: }else{ Stacktrace:) that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: An exception occurred processing JSP page /SelectScore.jsp at line 3936:  String xb;
37:  int j;
38:  while(rs.next()){
39:  j=rs.getInt("XB");
40:  if (j==0){
41:  xb="女";
42:  }else{
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause javax.servlet.ServletException: com.microsoft.sqlserver.jdbc.SQLServerException: 将 char 值转换为 JDBC 数据类型 INTEGER 时发生错误。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.SelectScore_jsp._jspService(SelectScore_jsp.java:158)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause com.microsoft.sqlserver.jdbc.SQLServerException: 将 char 值转换为 JDBC 数据类型 INTEGER 时发生错误。
com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject(DDC.java:456)
com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:2007)
com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:175)
com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:113)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1982)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1967)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(SQLServerResultSet.java:2219)
org.apache.jsp.SelectScore_jsp._jspService(SelectScore_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause java.lang.NumberFormatException: For input string: "男"
java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
java.lang.Integer.parseInt(Integer.java:447)
java.lang.Integer.valueOf(Integer.java:553)
com.microsoft.sqlserver.jdbc.DDC.convertStringToObject(DDC.java:291)
com.microsoft.sqlserver.jdbc.DDC.convertStreamToObject(DDC.java:419)
com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:2007)
com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:175)
com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:113)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1982)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:1967)
com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(SQLServerResultSet.java:2219)
org.apache.jsp.SelectScore_jsp._jspService(SelectScore_jsp.java:109)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.29 logs.
--------------------------------------------------------------------------------Apache Tomcat/7.0.29

解决方案 »

  1.   

    select.html文件
    <%@ page contentType="text/html;charset=GB2312" %>
    <HTML>
    <BODY>
    <Font size=5 color=blue>学生信息查询</Font><BR>
    <Form action="SelectName.jsp" Method="post">
    <H4>
    输入姓名: <Input type="text" name="name"> 
        <Input type="submit"  value="提交">
    </H4>
    </Form>

    <Form action="SelectScore.jsp" Method="post">
    <H4>根据学分查询:<BR>
    学分在  <Input  type="text" name="scoremin" value="0"  size="4"> 和 
            <Input  type="text" name="scoremax" value="100" size="7"> 之间 
           <Input type="submit" value="提交"></H4>
    </Form>
    </BODY>
    </HTML>
    selectname.jsp文件(通过就是出现错误文件的原始代码)
    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page language="java" import="java.sql.*"%> 
    <jsp:useBean  id="SelectNameBean"  scope="page" 
    class="XSCJ_Bean.SQLServerXSCJConnBean" />
    <HTML>
    <BODY>
    <% 
    String name=request.getParameter("name");      //获取提交的姓名:
    if(name==null){
            name="";
         }
         byte b[]=name.getBytes("ISO-8859-1");
         name=new String(b);
         String sql="select * from XS where XM = '"+name+"'";
         SelectNameBean.OpenConn();
         ResultSet rs=SelectNameBean.executeQuery(sql); 
         if (rs.next()==false)
         {
    out.println("查无此人,请");%><a href="Select.htm">返回</a><%
    }
         else
         {
    ResultSet rs1=SelectNameBean.executeQuery(sql); 
    %>
    <CENTER>
    输出姓名为<Font color=blue><%=name%></Font>的学生信息:<BR>
    <Table border=2 bordercolor="#FFCCCC" align="center">
    <tr align="center" >
    <td>学号</td>
    <td>姓名</td>
    <td>性别</td>
    <td>出生时间</td>
    <td>专业</td>
    <td>总学分</td>
    <td>备注</td>
    </tr>
    <%  
    String xb;
    int j;
    while(rs1.next()){
    j=rs1.getInt("XB");
    if (j==0){
    xb="女";
    }else{
      xb="男";
    }
    %>
      <tr>
    <td><%=rs1.getString("XH")%></td>  
    <td><%=rs1.getString("XM")%></td>
    <td><%=xb %></td>
    <td><%=rs1.getDate("CSSJ")%></td>
    <td><%=rs1.getString("ZY")%></td>
    <td><%=rs1.getInt("ZXF")%></td>
    <td><%=rs1.getString("BZ")%></td>
    </tr>    
    <%   
      }
    rs1.close();
    %>
    </Table>
    <BR><a href="Select.htm">返回</a>     //返回查询页面
    </CENTER>
    <%}%> 
    <%
          rs.close();
    SelectNameBean.closeStmt();
    SelectNameBean.closeConn(); 
    %>
    </BODY>
    </HTML>
    目的是从sql 2005的数据库xscj(学生成绩)的xs(学生)表中搜索相应记录