Servlet实现页面的跳转 您所在的位置:网站首页 表单提交到另一个页面 Servlet实现页面的跳转

Servlet实现页面的跳转

2023-11-07 09:12| 来源: 网络整理| 查看: 265

Servlet实现页面的跳转有2种方式:转发与重定向。

1、转发

转发是在服务器端起作用的,当使用 forward() 方法时,Servlet 容器传递HTTP请求,从当前的 Servlet 或 JSP,此过程仍然在 request 的作用范围内。转发后,浏览器的地址栏内容不变。

转发使用 HttpServletRequest 对象的 forward() 方法实现,对应的 Servlet 语法格式如下:

request.getRequestDispatcher(String path).forward(ServletRequest request, ServletResponse response) 2、重定向

重定向是在用户的浏览器端工作的,是 Servlet 对浏览器做出响应后,浏览器再次发送一个新的请求。重定向后,浏览器的地址栏内容发生变化。

重定向使用 HttpServletResponse 对象的 sendRedirect() 方法实现,对应的 Servlet 和 JSP 语法格式如下:

response.sendRedirect(String location)

示例:编写用户登录功能,实现页面的跳转。

(1)创建 login.jsp 登录页面。

登录 请输入登录信息 用户: 密码:

(2)创建 succeed.jsp 成功登录页面。

成功登录 恭喜用户【】登录成功!

您好,欢迎访问 pan_junbiao的博客

博客地址:https://blog.csdn.net/pan_junbiao

(3)创建 LoginServlet.java 登录验证Servlet类。

package com.pjb.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 登录验证Servlet类 * @author pan_junbiao */ @WebServlet(name = "LoginServlet", urlPatterns = "/servlet/LoginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 将输出转换为中文 request.setCharacterEncoding("UTF-8"); // 设置输出为中文 response.setCharacterEncoding("UTF-8"); // 获取参数 String user = request.getParameter("user"); String password = request.getParameter("password"); // 登录验证信息 if (user.equals("pan_junbiao的博客") && password.equals("123456")) { // 如果验证成功,则转发succeed.jsp页面,并在页面显示用户名 request.getRequestDispatcher("/succeed.jsp").forward(request, response); } else { // 如果验证失败,则重定向到登录页面 response.sendRedirect("/login.jsp"); } } }

执行结果:

(1)登录页面:

(2)成功登录页面:

经验:

转发和重定向:在刚刚学习转发和重定向的时候,在使用方面哪种方式进行页面的跳转?其实它们之间有一个很清晰的区别,那就是数据的传递。如果你想把数据通过 request 作用域传递到下一个页面或者 Servlet,那就使用转发。反之,就使用重定向。

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有