在我的代码中,我想将“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){}
%>
答案 0 :(得分:2)
在JSP页面中创建连接对象是一种不好的做法。看JSP页面一般被认为是显示信息。尝试向servlet发送请求,并在servlet内调用另一个包含业务逻辑代码的类(在JSP页面中插入)。然后根据您从业务逻辑中获得的响应将结果存储到会话属性并从servlet重定向到所需页面。
并尝试在循环外声明String psw
。
String psw=null;
while(rs.next())
{
psw = rs.getString(4);
}
session.setAttribute("pswd",psw);