在web应用中,如果直接将结果集 ResultSet   rs,保存在session ,或者 reueest范围内, 可以将其传递到jsp,并显示, 但是要考虑到,如果同时查询的用户非常多,服务器的压力就非常大! 所以我本人建议用以下方法! 我觉得应该自己写一个标签。比如为 display.java 然后将起定义为标签, 对于你每次要显示的内容,其实你只要传递关键字,比如:sql 语句。就可以了! 然后在你的页面中利用自定义的标签:比如为:  <app:display>  就可以实现了! 以下是本人写的一个很简单的标签,在struts中!                         displayTag.java ----------------------------------------------------------------- import javax.servlet.jsp.tagext.TagSupport; import java.io.IOException; import javax.servlet.jsp.PageContext; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.JspException; import javax.servlet.http.HttpSession; import java.sql.*; public final class DisplayTag  extends TagSupport {   public int doEndTag()throws JspException{     UserDao userdao=new UserDao();     JspWriter out=pageContext.getOut();     HttpSession session=pageContext.getSession();     try{       String name="name";       String password="password";       String strSql=(String)session.getAttribute("strSql");       ResultSet rs=userdao.disPlay(strSql);       out.println("<table border=1>");       out.println("<tr>");       out.println("<th width=100>"+name+"</th>");       out.println("<th width=100>"+password+"</th>");       out.println("</tr>");       while(rs.next()){         out.println("<tr>");         out.println("<td>"+rs.getString(name)+"</td>" );         out.println("<td>"+rs.getString(password)+"</td>" );         out.println("</tr>");       }       out.println("</table>");     }     catch(Exception e){}     return super.doEndTag();   } }                            app.tld -------------------------------------------------------------------- <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib   PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"   "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> <taglib>   <tlib-version>1.0</tlib-version>   <jsp-version>1.2</jsp-version>   <short-name>Application Tag Library</short-name>   <tag>     <name>display</name>     <tag-class>netregister.DisplayTag</tag-class>     <body-content>empty</body-content>   </tag> </taglib>
                                         web.xml --------------------------------------------------------------- 添加以下内容:   <taglib>     <taglib-uri>/WEB-INF/app.tld</taglib-uri>     <taglib-location>/WEB-INF/app.tld</taglib-location>   </taglib>
                                  displayAction.do ------------------------------------------------------------------     String strSql=new String("select * from yonghu");     HttpSession session=httpServletRequest.getSession();     session.setAttribute("strSql",strSql) ;     return actionMapping.findForward("success") ;
 如果不是用的struts,可以通过其他方法,实现这步!                             display.jsp ----------------------------------------------------------------- <%@ page contentType="text/html; charset=GBK" %> <%@ taglib uri="/WEB-INF/app.tld" prefix="app" %> <html> <head> <title> display </title> </head> <body bgcolor="#ffffff"> <app:display /> </body> </html>  
 这样,在你的每一个jsp中,只要想输出查询结果,就只需要调用  <app:display/> 就可以了! 以上代码不一定完全正确,但是思想就是这样! 而且在大的项目中,非常推崇! 它体现了java 代码重用的思想,而且也使结果集的相关操作不直接暴露与用户,也实现了安全! 供参考!
   
 
  |