一、关于跳转页面问题:
在Servlet中用这种方式:request.getRequestDispatcher("/user/myLoan.jsp").forward(request,response); 跳转页面
需要设置:response.setContentType("text/html;charset=GBK");否则会出现乱码。另外用这种方式跳转页面可以用request.setAttribute()传参数至跳转页面。
在Servlet中用JavaScript跳转:
out.println("<script language='javascript'>");
out.println("location.href='user/Personal_transfer.jsp'");
out.println("alert('不存在账户!');");
out.println("</script>");
二、关于ResultSet 问题:
查询的结果集ResultSet 中的指针不断向下走,因此如果要向另一个页面传一个ResultSet结果集,要先将结果集存入List<>中,再传整个List<>。因为在新的页面里需要从头遍历结果集,而这时如果传的是ResultSet,ResultSet指针不能回到开始,故不能从头遍历。例子如下:
public List<Loan> findAll(String User_id,String Bank_name)
{
Loan loan=null;
ArrayList<Loan> loanList=new ArrayList<Loan>();
try{
ResultSet rs=this.query(User_id, Bank_name);//通过User_id,Bank_name查询的结果集
while(rs.next())
{
loan=new Loan();
loan.setBorrow_id(rs.getString(1));
loan.setBorrow_sum(rs.getFloat(2));
loan.setBorrCard_id(rs.getString(3));
loan.setBorrow_time(rs.getString(4));
loan.setBorrow_deadline(rs.getString(5));
loan.setBank_name(rs.getString(6));
loan.setUser_id(rs.getString(7));
loanList.add(loan);//将结果集放入List中
}
}catch(SQLException e){
e.printStackTrace();
}
return loanList;
}
在另一个页面中调用为:
List<Loan> loanList=loanDAO.findAll(user.getUser_id(), bankName);
session.setAttribute("loan", loanList);