Java后端实现页面跳转

转载:https://blog.youkuaiyun.com/weixin_42456466/article/details/80689670

 

页面跳转分类有两种:重定向转发,即redirect和forward。

 

具体区别和含义最后介绍,先给出使用方法。

一:重定向redirect

 

    第一种方式:controller中返回值为String

public String login(HttpServletRequest req, HttpServletResponse resp)
return "redirect:http://localhost:8080/index"; 


     第二种方式:controller中返回值为void

public void login(HttpServletRequest req, HttpServletResponse resp)
resp.sendRedirect("http://localhost:8080/index");


     第三种方式:controller中返回值为ModelAndView

return new ModelAndView("redirect:/toList"); 

二:转发forward

 

 request.getRequestDispatcher("/student_list.jsp").forward(request, response);

 

Java后端中,可以使用HttpServletResponse的sendRedirect()方法实现页面跳转。示例代码如下: ```java import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class RedirectDemoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 跳转到指定页面 response.sendRedirect("http://www.example.com/newpage.jsp"); } } ``` 在上面的代码中,使用了sendRedirect()方法将请求重定向到了指定页面。其中,参数可以是一个相对路径或者绝对路径的URL。如果是相对路径,将会相对于当前请求的URL进行解析。 需要注意的是,如果在调用sendRedirect()方法之后还有其他的输出流操作,那么这些操作将会被忽略。因此,在调用sendRedirect()方法之前应该先关闭输出流。 此外,还可以使用RequestDispatcher的forward()方法实现页面跳转。示例代码如下: ```java import javax.servlet.RequestDispatcher; import java.io.IOException; public class ForwardDemoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取RequestDispatcher对象 RequestDispatcher rd = request.getRequestDispatcher("/newpage.jsp"); // 转发请求 rd.forward(request, response); } } ``` 在上面的代码中,首先通过request.getRequestDispatcher()方法获取了RequestDispatcher对象,然后使用其forward()方法将请求转发到指定的页面。值得注意的是,转发操作是在服务器内部完成的,因此客户端浏览器只会看到最终的页面内容,而不会知道服务器进行了转发操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值