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

本文深入解析Servlet中的sendRedirect和forward方法,解释它们如何在服务器端实现页面跳转,并详细对比两者之间的区别,包括原理、使用场景和效果。重点介绍了forward方法用于在服务器端跳转到其他资源(如servlet、JSP或HTML页面),以及如何通过XML配置映射到特定路径。此外,还提供了实例代码,展示了如何在实际项目中运用这些方法,以及它们在不同情况下的优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于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

总结:



voidsendRedirect(java.lang.Stringlocation)
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值