3

在我的代码中,我想将表“寄存器”中的第四个属性“密码”存储到来自 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){}
%>
4

1 回答 1

2

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

String psw=null;
while(rs.next())
{ 
psw = rs.getString(4);
}
session.setAttribute("pswd",psw);
于 2013-03-20T08:30:33.233 回答