CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

servlet当中的页面转换

楼主qu_shihong(孤峰)2002-04-12 09:32:41 在 Java / Web 开发 提问

请问在servlet   当中怎么进行请求页面转换。比如我在servlet中经过判断后,决定转换到main.jsp页面。很急,请各位大侠多帮忙! 问题点数:100、回复次数:12Top

1 楼pengji(彭乃超)回复于 2002-04-12 09:36:39 得分 30

import   javax.servlet.*;  
  import   javax.servlet.http.*;  
  import   java.io.*;  
  import   java.util.*;  
   
  public   class   Servlet1   extends   HttpServlet  
  {  
      private   static   final   String   CONTENT_TYPE   =   "text/html;   charset=Shift_JIS";  
      public   void   init()   throws   ServletException  
      {  
      }  
      public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)   throws   ServletException,   IOException  
      {  
          try   {  
          ServletContext   cont=this.getServletContext();  
          RequestDispatcher   rd=cont.getRequestDispatcher("/main.jsp");  
          rd.forward(request,response);  
          }  
          catch   (Exception   e)  
          {  
              e.printStackTrace();  
          }  
      }  
          public   void   doPost(HttpServletRequest   request,   HttpServletResponse   response)   throws   ServletException,   IOException  
      {  
          this.doGet(request,response);  
      }  
      public   void   destroy()  
      {  
      }  
  }Top

2 楼ahbill(阿漂)回复于 2002-04-12 09:59:02 得分 30

除了   forward方式,还可以使用sendRedirect("/main.jsp")方式  
  两种方式区别:  
  前种是直接链接到新页面  
  后种,是Servlet向客户端发新页面的URL,由浏览器向新页面请求。  
  Top

3 楼supershot(笨瓜)回复于 2002-04-12 10:16:07 得分 10

forward  
  sendRedirectTop

4 楼qu_shihong(孤峰)回复于 2002-04-12 10:53:39 得分 0

import   java.util.*;    
  import   java.io.*;  
  import   javax.mail.*;  
  import   javax.mail.internet.*;  
  import   javax.servlet.http.*;  
  import   javax.servlet.*;    
  public   class   check   extends   HttpServlet  
  {  
      public   void   init()   {  
             
      }  
   
  public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)throws   ServletException,IOException  
  {  
  OutputStream   output=response.getOutputStream();  
  PrintWriter   out=new   PrintWriter(output,true);  
  try{  
  out.println("test_1");  
  ServletContext   cont=this.getServletContext();  
  out.println("test_3");  
  RequestDispatcher   rd=cont.getRequestDispatcher     ("http://10.201.1.120:8080/examples/jsp/date.jsp");  
  out.println("test_4");  
  rd.forward(request,response);  
  }  
  catch(EXCeption   e)  
  {  
  Anything   is   wrong!  
  }  
  }  
  Top

5 楼qu_shihong(孤峰)回复于 2002-04-12 10:54:57 得分 0

import   java.util.*;    
  import   java.io.*;  
  import   javax.mail.*;  
  import   javax.mail.internet.*;  
  import   javax.servlet.http.*;  
  import   javax.servlet.*;    
  public   class   check   extends   HttpServlet  
  {  
      public   void   init()   {  
             
      }  
   
  public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)throws   ServletException,IOException  
  {  
  OutputStream   output=response.getOutputStream();  
  PrintWriter   out=new   PrintWriter(output,true);  
  try{  
  out.println("test_1");  
  ServletContext   cont=this.getServletContext();  
  out.println("test_2");  
  RequestDispatcher   rd=cont.getRequestDispatcher     ("http://10.201.1.120:8080/examples/jsp/date.jsp");  
  out.println("test_3");  
  rd.forward(request,response);  
  }  
  catch(EXCeption   e)  
  {  
  Anything   is   wrong!  
  }  
  }  
  _____________________________________________  
  错误提示:  
  test_1  
  test_2  
  test_3  
  Anything   is   wrong!  
  Top

6 楼qu_shihong(孤峰)回复于 2002-04-12 10:56:21 得分 0

这到底是怎么回事啊!我都快要疯了!Top

7 楼South_Wolf(南方客)回复于 2002-04-12 12:41:56 得分 0

getRequestDispatcher     换成   getNamedDispatcherTop

8 楼qu_shihong(孤峰)回复于 2002-04-12 13:32:51 得分 0

不好使!还有没有高人出招啊?拜托了!!!Top

9 楼dy1978(三毛)回复于 2002-04-12 13:44:44 得分 30

import   java.util.*;    
  import   java.io.*;  
  import   javax.mail.*;  
  import   javax.mail.internet.*;  
  import   javax.servlet.http.*;  
  import   javax.servlet.*;    
  public   class   check   extends   HttpServlet  
  {  
      public   void   init()   {  
             
      }  
   
  public   void   doGet(HttpServletRequest   request,HttpServletResponse   response)throws   ServletException,IOException  
  {  
  response.sendRedirect("http://10.201.1.120:8080/examples/jsp/date.jsp");  
  }  
  }  
  肯定好使  
  Top

10 楼yadg(阿俊)回复于 2002-04-12 13:47:23 得分 0

是不是路径的问题,你在try里面加一句:  
  if   (rd==null)   out.printlin("rd   is   null");  
  试一试如果rd是null的话就是路径出错了Top

11 楼qu_shihong(孤峰)回复于 2002-04-23 13:03:11 得分 0

这个问题我解决了,在进行页面转换的时候,response资源不能被占用。因为页面转换的时候要用到这个资源,也就是说把所有的out输出去掉就正常了!谢谢大家支持!Top

12 楼qu_shihong(孤峰)回复于 2002-04-23 13:05:38 得分 0

还有,三毛兄弟,你在用完response.sendRedirect之后一般都调用return   来结束程序.Top

相关问题

  • 页面转换的问题
  • ====问一个页面转换问题====
  • 页面传值时如何转换?
  • php中页面转换问题
  • 有没有方法把aspx页面转换成html页面
  • 怎么把动态页面转换成静态页面?
  • JSP中如何把动态页面转换为静态页面
  • servlet页面跳转问题
  • Servlet求助!下载页面?
  • 用Response.Redirect "file.asp"页面转换出错,如何解决?

关键词

  • 页面
  • 转换
  • servlet
  • import javax
  • cont
  • rd
  • getrequestdispatcher
  • servletexception
  • doget
  • httpservletresponse

得分解答快速导航

  • 帖主:qu_shihong
  • pengji
  • ahbill
  • supershot
  • dy1978

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo