关于Servlet里用sendRedirect 或 forward 来跳转到其它页面

关于Servlet里用sendRedirect 或 forward 来跳转到其它页面

 

1:新建工程:myServlet

 

2:新建WelcomeServlet.java:

 

package myServlet;
 
import java.io.IOException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
 
public class WelcomeServlet extends HttpServlet {
 
         @Override
         protected voiddoGet(HttpServletRequest req, HttpServletResponse resp)
                            throwsServletException, IOException {
                   // TODOAuto-generated method stub
                   java.io.PrintWriterout = resp.getWriter();
                   System.out.println("doGet");
                           
                   //forward
                   this.getServletContext().getRequestDispatcher("/welcome.html").forward(req,resp);
                  
                   //resp.sendRedirect
                   //resp.sendRedirect("welcome.html");
         }
 
         private static finallong serialVersionUID = 1L;
}


 

3.修改xml

 

   

 <servlet-mapping>
        <servlet-name>WelcomeServlet</servlet-name>
        <url-pattern>/welcomeservlet</url-pattern>
    </servlet-mapping>

 

4.新建welcome.html  / welcome.jsp 或者其它servlet

 

 

总结:



void sendRedirect(java.lang.String location) 
          Sends a temporary redirect response to the client using the specified redirect location URL and clears the buffer.


 

resp.sendRedirect("url");就比较简单,简单地说就是服务器将这个url发给用户的浏览器,然后浏览器端自己跳转到这个url,最终url会显示在浏览器端

 

this.getServletContext().getRequestDispatcher("url").forward(req,resp);

 

void forward(ServletRequest request, ServletResponse response)
Forwards a request from a servlet toanother resource (servlet, JSP file, or HTML file) on the server.

 

就是用于服务器端 servlet对象来跳转到其它 servlet ,JSP 或 HTML 页面的函数,

这个过程在服务器端然后,而用户的浏览器并不知道服务器端的servlet跳转了多少次、跳转到哪里,所以在用户的浏览器上并不会显示目标的url

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值