Java 无法解析结果集rs

Java 无法解析结果集rs,java,servlets,Java,Servlets,最近,我开始学习Java技术,现在我正在使用servlet,而我从数据库中获取数据,它并不是解析结果集 这里我附上了我的代码 <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%>

最近,我开始学习Java技术,现在我正在使用servlet,而我从数据库中获取数据,它并不是解析结果集 这里我附上了我的代码

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<html>
<script
type="text/javascript" language="javascript">    
javascript:window.history.forward(1);
</script>

<%  
response.setHeader("Pragma","no-cache");  
response.setHeader("Cache-Control","no-store");  
response.setHeader("Expires","0");  
response.setDateHeader("Expires",-1);  
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="update.jsp">update</a>
<a href="delete.jsp">display</a> 
<a href="logout.jsp">logout</a> 
<script>
    <%
    try{
        ResultSet rs=null;
        String mail=(String)session.getAttribute("mail");
        String sql="select * from tempregister where mail=?";
        Class.forName("com.ibm.db2.DB2Driver");
        Connection con=DriverManager.getConnection("jdbc:db2://localhost:50000/TEMP", "tarun", "12347890");
        PreparedStatement ps=con.prepareStatement(sql);
    ps.setString(1, mail);
    rs=ps.executeQuery();


    }catch(Exception e){

    }
    %>


   <% 
   while(rs.next())
   {

   %>
<%=rs.getString(4)%>


<%
   }
}
catch(Exception e)
{
e.printStackTrace();
}%>

</script>
</a> 


</body>
</html>

javascript:window.history.forward(1);
在此处插入标题

请帮帮我。。谢谢

您的代码至少应该更改:

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<html>
<script
type="text/javascript" language="javascript">    
javascript:window.history.forward(1);
</script>

<%  
response.setHeader("Pragma","no-cache");  
response.setHeader("Cache-Control","no-store");  
response.setHeader("Expires","0");  
response.setDateHeader("Expires",-1);  
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="update.jsp">update</a>
<a href="delete.jsp">display</a> 
<a href="logout.jsp">logout</a> 
<%
     ResultSet rs = null;
     try {
         String mail = (String) session.getAttribute("mail");
         String sql = "select * from tempregister where mail=?";
         Class.forName("com.ibm.db2.DB2Driver");
         Connection con = DriverManager.getConnection("jdbc:db2://localhost:50000/TEMP", "tarun", "12347890");
         PreparedStatement ps = con.prepareStatement(sql);
         ps.setString(1, mail);
         rs = ps.executeQuery();
         while (rs.next()) {
             %>            
             <%=rs.getString(4)%>
             <%
         }
     } catch (Exception e) {
         e.printStackTrace();
     }
 %>

</body>
</html>

javascript:window.history.forward(1);
在此处插入标题

请提供异常的
StackTrace
rs
try
块内声明,因此在块结束时它不存在(超出范围),而
在(rs.next())
块外,导致编译错误。谢谢您的回复,先生。。先生,后来我在try{}之后删除了catch块,即使数据没有读入html页面,即使在try之后删除catch块,我的数据没有读入html页面,请帮助我解决问题,您是否收到任何错误消息?如果否,DB2不会为SQL返回任何记录。是的,DB2不会在客户端返回任何记录。。我的问题有什么不对吗