首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么让servlet输出内容到指定页

2013-04-07 
如何让servlet输出内容到指定页我的项有一个servlet显示数据库表信息的,不过是用servlet输出的,想把它的输

如何让servlet输出内容到指定页
我的项有一个servlet显示数据库表信息的,不过是用servlet输出的,想把它的输出内容输出到指定页面中,怎么办??
比如我有一个showTable.servlet来连接数据库并找到了数据库内容并作出了输出,就是把下面的doget索要输出的内容输出到指定页面中??但是现在想把这个输出内容输出到页面a.jsp里面。该怎么做呀
附上代码
public void doGet(HttpServletRequest req, HttpServletResponse res){
   
   PreparedStatement ps = null;
   ResultSet rs = null;

  try{
   res.setContentType("text/html;charset=UTF-8");
   PrintWriter pw = res.getWriter();
      
   Class.forName("com.mysql.jdbc.Driver");
   Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/flightTicket","root","flight");
   
   //分页
   int pagerow = 5;
   int nowpage = 1;
   int pagelist = 0;
   int pagecount = 0;
   ps = conn.prepareStatement("select count(*) from passengerMessage");
   rs = ps.executeQuery();
   
   if(rs.next()){
    pagelist = rs.getInt(1);
    
    if(pagelist%pagerow == 0){
     pagecount = pagelist/pagerow;
    }else{
     pagecount = pagelist/pagerow+1;
    }  
   }
   
   if(req.getParameter("spagecount") != null){
    
    nowpage = Integer.parseInt(req.getParameter("spagecount"));
    //System.out.println(req.getParameter("spagecount"));
   }
   
   //显示列表
   Statement st = conn.createStatement();
   rs = st.executeQuery("select * from passengerMessage limit "+(nowpage-1)*pagerow+","+pagerow);
   System.out.println((nowpage-1)*pagerow+"(nowpage-1)*pagerow+"+pagerow+"pagerow");
   pw.println("<table>");
   pw.println("<tr><td>姓名</td><td>身份证</td><td>电话</td><td>删除</td></tr>");
   while(rs.next()){
    pw.println("<tr>");
    pw.println("<td>"+rs.getString(1)+"</td>");
    pw.println("<td>"+rs.getString(2)+"</td>");
    pw.println("<td>"+rs.getString(3)+"</td>");
    pw.println("<td><a href=Deletepassenger?IdCard="+rs.getString(2)+">删除</a></td>");
    pw.println("</tr>");
   }
   pw.println("</table>");
   
   
   //分页开始
 
   //显示上一页
   if(nowpage>1)
    pw.println("<a href=SelectPassenger?spagecount="+(nowpage-1)+">上一页</a>");
   

  
   for(int i =0; i<=pagecount; i++){
    pw.println("<a href=SelectPassenger?spagecount="+i+">"+i+"</a>");
   // System.out.println(j+"jbbbbbb");


   // System.out.println(i+"i33333");
   }
   
   if(pagecount-nowpage > 5){
     pw.println("<a href=SelectPassenger?spagecount="+pagecount+">..."+pagecount+"...</a>");
     //System.out.println(pagecount+">.pagecount.."+pagecount);
   } 
   
   //显示下一页
   if(nowpage<pagecount)
    pw.println("<a href=SelectPassenger?spagecount="+(nowpage+1)+">下一页</a>");
    pw.println("</div>");
 
  }catch(Exception e){
   e.printStackTrace();
  }
 }

public void doPost(HttpServletRequest req,HttpServletResponse res)
{
   this.doGet(req,res);
} servlet 数据库 输出 jsp
[解决办法]
在servlet中将查询到的数据保存为session,然后再页面中显示即可;
servlet代码:


String userName = request.getParameter("username");
String passWord = request.getParameter("password");
if(userName != null && passWord != null){
HttpSession session = request.getSession();
session.setAttribute("uname", userName);
session.setAttribute("pword", passWord);
}
response.sendRedirect("index.jsp");


index.jsp显示页面:

<center><b>
<%
    String uname = "";
    String pword = "";
    if(session != null){
    uname = (String) session.getAttribute("uname");
    pword = (String) session.getAttribute("pword");
    if(uname != null && !uname.equals("") && pword != null && !pword.equals("")){
    out.println("Input UserName: <font color='red'><b>"+ uname +"</b></font><br>"); 
        out.println("Input PassWord: <font color='red'><b>"+ pword +"</b></font>"); 
        }
    } 
%>
</b></center>

[解决办法]
同样的  如果查询出来的是一个list对象,也是一样可以session保存,然后再jsp页面中用标签库遍历显示出来的……祝LZ好运……
[解决办法]
用了servlet就别用jsp 两个只选一个,不然代码就比较乱。
最好不要把集合这些东西随便放到session里 放进去了就要清理,因为都会占用服务器开销。
你可以试着在servlet 转跳jsp,把你要传的东西放到request里


servlet使用RequestDispatcher到jsp页面
String   url="/EShop.jsp";   
ServletContext   sc   =   getServletContext();   
RequestDispatcher   rd   =   sc.getRequestDispatcher(url);   
rd.forward(req,   res);

servlet重定向jsp,并将数据发送到别一个JSP中:    
request.setAttubute("messages",aaa);      
RequestDispatcher   requestDispatcher=request.getRequestDispatcher("/xxx.jsp");   


requestDispatcher.forward(request,response);

热点排行