将ResultSet中的单个值存储在变量中,并在另一页上使用它

时间:2013-03-20 07:50:40

标签: jsp resultset

在我的代码中,我想将“password”(表“注册”中的第4个属性)存储到ResultSet中的变量,并将其保存在会话中并在另一个页面上使用它。

<%@ page import="java.sql.*" %>
<%
try
{
String eml =  request.getParameter("email");
session.setAttribute("to",eml);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection  con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","1234"     
Statement st=con.createStatement();
ResultSet rs= st.executeQuery(" select * from register where email='"+eml+"' ");
while(rs.next())
**String psw = rs.getString(4);**
}
**session.setAttribute("pswd",psw);**
response.sendRedirect("sendProcess.jsp");
rs.close();
st.close();
con.close();
}
catch(Exception e){}
%>

1 个答案:

答案 0 :(得分:2)

在JSP页面中创建连接对象是一种不好的做法。看JSP页面一般被认为是显示信息。尝试向servlet发送请求,并在servlet内调用另一个包含业务逻辑代码的类(在JSP页面中插入)。然后根据您从业务逻辑中获得的响应将结果存储到会话属性并从servlet重定向到所需页面。 并尝试在循环外声明String psw

String psw=null;
while(rs.next())
{ 
psw = rs.getString(4);
}
session.setAttribute("pswd",psw);