当前位置: 技术问答>java相关
如何把SERVLET中ResultSet传递给JSP页面显示?
来源: 互联网 发布时间:2015-03-24
本文导语: 本来完全可以在JSP中实现,但出于保密性考虑,要把SELECT操作也放到SERVLET的类里,只把结果返回给页面显示,本来想把ResultSet作为SESSION传递,但ResultSet不是可序列化的不能这样做。不知谁有高招? | ...
本来完全可以在JSP中实现,但出于保密性考虑,要把SELECT操作也放到SERVLET的类里,只把结果返回给页面显示,本来想把ResultSet作为SESSION传递,但ResultSet不是可序列化的不能这样做。不知谁有高招?
|
做一个对象将ResultSet保存起来,然后在servlet中就可以关掉连接了。
然后使用如下语句在Servlet中:
HttpSession session=request.getSession();
UserHistory uh=new UserHistory(); //保存ResultSet的对象
uh.setId(rset.getInt(1));//存入ResultSet
session.setAttribute("userhistory",uh);
在jsp中:
然后就可以使用了。
这种方法其实类似于Model2,可以看一看Struts。
再提供两个将bean保存进Request,Application的例子(来自Struts文档)
Request Scope :
Customer customer = ... create or acquire a customer reference ...;
request.setAttribute("cust", customer);
Application Scope :
Foo foo = ... create a Foo ...;
servlet.getServletContext().setAttribute("foo", foo);
然后使用如下语句在Servlet中:
HttpSession session=request.getSession();
UserHistory uh=new UserHistory(); //保存ResultSet的对象
uh.setId(rset.getInt(1));//存入ResultSet
session.setAttribute("userhistory",uh);
在jsp中:
然后就可以使用了。
这种方法其实类似于Model2,可以看一看Struts。
再提供两个将bean保存进Request,Application的例子(来自Struts文档)
Request Scope :
Customer customer = ... create or acquire a customer reference ...;
request.setAttribute("cust", customer);
Application Scope :
Foo foo = ... create a Foo ...;
servlet.getServletContext().setAttribute("foo", foo);
|
放Session是不是回造成服务器的负载太大
可以把数据库的操作封状到bean 里,用jsp调bean不好吗?》
可以把数据库的操作封状到bean 里,用jsp调bean不好吗?》
|
如果要在多个页面里面保持怎么办?
不用session可以解决吗?
不用session可以解决吗?
|
如servlet2.1版本,你可以用