`
jackroomage
  • 浏览: 1217870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

在Servlet中forward与sendRedirect的跳转用法区别

阅读更多

网站地址:下面是别人总结的很全面

 

http://www.blogjava.net/yzzh9/archive/2009/06/09/280908.html

 

 

 

http://www.diybl.com/course/4_webprogram/jsp/jsp_js/200863/121115.html#

 

 

 

 

下面是自己总结的:代码可以运行的。可以运行下看看,加深理解。

 

1、登录jsp页面

 

<%@ page language="java" contentType="text/html"
    pageEncoding="utf-8"%>
<html>
<head>
<title>this first jsp and Servlet</title>
</head>
<body>
 <form action="tpath" method="post">
名字:<input type="text" name="uname">
密码:<input type="text" name="password"><br>
     <input type="submit" value="提交">
     </form>
</body>
</html>

 

 

2、servlet类的写法

 

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 TestTZ extends HttpServlet{

 @Override
 protected void doGet(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
  // TODO Auto-generated method stub
  this.doPost(req, resp);
 }

 @Override
 protected void doPost(HttpServletRequest req, HttpServletResponse resp)
   throws ServletException, IOException {
      String path2="/testPath.jsp";
      String path3="testPath.jsp";
       String uname=req.getParameter("uname");
       String password=req.getParameter("password");
      
       req.setAttribute("k", uname);
       req.setAttribute("v", password);
      
        //   this.getServletConfig().getServletContext().getRequestDispatcher(path2).forward(req, resp);
      
        // req.getRequestDispatcher(path3).forward(req, resp);
     // 上面两个forward方法都可以,跳转到另外一个页面(他们是服务器端跳转)。IE里面的地址看不出跳转到那个jsp页面。
     //但是上面的两个跳转的具体区别,还有点不太清楚。
     //============================================================
      
      
       //sendRedirect它是客户端跳转,可以在IE里面看到,跳转到那个jsp页面。
       //但是它不能通过request.getAttribute("变量");得到值。
       resp.sendRedirect(path3);
 }
}

 

3、接受值的jsp的写法

 

<%@ page language="java" contentType="text/html"
    pageEncoding="utf-8"%>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
结果是:<br>
<%=request.getAttribute("k") %><br>
<%=request.getAttribute("v") %>
</body>
</html>

 

4、servlet的配置文件web.xml的写法

 

       <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
 
  <servlet>
  <servlet-name>jack3</servlet-name>
  <servlet-class>org.tiaozhuan.com.TestTZ</servlet-class>
  </servlet>
 
  <servlet-mapping>
  <servlet-name>jack3</servlet-name>
  <url-pattern>/tpath</url-pattern>
  </servlet-mapping>
 
 </web-app>

 

5、总结:主要看一下servlet类的写法和注释就明白了。

分享到:
评论

相关推荐

    Servlet跳转方式sendReDirect

    在Servlet中,有两种主要的跳转方式:`RequestDispatcher.forward()`和`ServletResponse.sendRedirect()`。这两种方法在处理客户端请求时有不同的行为和应用场景。 1. `RequestDispatcher.forward()` - `forward()...

    sendRedirect()和forward()

    例如,我们可以使用sendRedirect()方法将客户端重定向到其他服务器上的某个Web应用程序资源,而forward()方法只能在同一Web应用程序中进行请求转发。 在实际开发中,我们需要根据不同的需求选择适合的方法。如果...

    jsp中页面之间的跳转forward与sendRedirect的区别

    在JSP(Java Server Pages)中实现页面间的跳转,主要有两种方法:一种是使用Servlet的RequestDispatcher进行内部跳转,即forward;另一种是使用HTTP响应对象(response)的sendRedirect方法实现客户端重定向,即...

    servlet跳转的几种情况

    * `response.sendRedirect()`: 与 Servlet 的 sendRedirect() 方法相同。 * `response.setHeader("Location","")`: 设置 HTTP 头的 Location 字段来实现跳转。 * `&lt;jsp:forward page="" /&gt;`: 使用 JSP 的 forward ...

    jsp和servlet中实现页面跳转的方式实例总结.docx

    在 Servlet 中,可以使用 forward 方法将请求转发到另一个 JSP 页面。例如: ```java public class ForwardServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse ...

    forward PK sendredirect

    在Web开发中,"forward"和"sendRedirect"是两种常用的HTTP请求处理方式,它们都是用来实现页面跳转,但工作原理和应用场景有所不同。这里我们将深入探讨这两种方法的区别。 首先,`jsp:forward page="转的页面"`是...

    forward-sendRedirect

    在Java Web开发中,"forward-sendRedirect"是一个关键的概念,主要涉及到Servlet和JSP之间的页面跳转技术。这里我们将深入探讨这两个方法的工作原理及其在实际应用中的差异。 首先,我们来了解一下`forward()`方法...

    servlet实现简单登录页面跳转.zip

    - 在Servlet生命周期中,`init()`方法用于初始化,`service()`方法处理请求,`destroy()`方法在Servlet被卸载时执行。 2. **登录流程** - 用户打开登录页面(通常为HTML)并输入用户名和密码。 - 用户点击登录...

    servlet实现的页面跳转

    在"韩顺平"的教程中,你可能会看到如何结合实际的web项目结构,将Servlet与JSP页面配合使用,实现动态内容生成和页面跳转。通常,Servlet负责业务逻辑处理和数据准备,然后通过请求转发或重定向将结果展示在JSP页面...

    servlet/jsp跳转

    - **请求转发(Request Forward)**:使用`RequestDispatcher`的`forward()`方法在同一应用内部进行跳转,请求只发送一次,浏览器地址栏不会改变。 - **重定向(Redirect)**:使用`response.sendRedirect()`方法...

    Web_2_Servlet的基本使用和跳转1

    在本节中,我们将讨论 Web 2 Servlet 的基本使用和跳转。首先,我们将回顾 HTTP 协议,然后讨论 Servlet 的基本使用和跳转。 HTTP 协议回顾 HTTP 协议是应用层的面向对象的协议,由于其简捷、快速的方式,适用于...

    servlet跳转页面的几种方法

    本篇文章将详细讲解Servlet中跳转页面的两种主要方法:redirect(重定向)和forward(转发),以及在JSP中如何实现类似操作。 1. **Servlet中的跳转** - **Redirect(重定向)** 重定向是通过`response....

    java-web学习demo--最简单的servlet jsp跳转传值

    - 在Servlet中根据需求选择使用`sendRedirect`或`forward`方法进行跳转或转发。 通过这个简单的Java Web学习demo,开发者可以了解Servlet和JSP协同工作的方式,以及如何在它们之间传递数据。这有助于理解Web应用的...

    关于servlet的页面跳转经典例子

    - **请求转发(Request Forward)**:在Servlet中,我们可以使用`RequestDispatcher`的`forward()`方法将请求转发到另一个资源,例如HTML页面、JSP或另一个Servlet。这发生在服务器端,用户在浏览器地址栏看不到URL...

    Servlet转发与重定向

    4. 请求与响应的对象:RequestDispatcher.forward 方法的调用者与被调用者之间共享相同的 request 对象和 response 对象,而 HttpServletResponse.sendRedirect 方法调用者与被调用者使用各自的 request 对象和 ...

    java 中sendredirect()和forward()方法的区别

    Java 中的 sendRedirect() 和 forward() 方法都是用于页面跳转的,但是它们之间存在着一些关键的区别。 1. 跳转方式 sendRedirect() 方法可以将请求重定向到任何 URL,而 forward() 方法只能将请求重定向到同一个 ...

    servlet的跳转

    总结一下,Servlet的跳转在Java Web开发中是非常关键的操作,理解并熟练掌握请求转发和重定向的区别和使用场合,对于编写高效、逻辑清晰的Web应用程序至关重要。通过深入学习和实践,开发者能够更好地利用这些工具来...

    jsp跳转getRequestDispatcher()和sendRedirect()的区别.docx

    在Java Web开发中,经常会遇到页面间的跳转操作,其中两种常见的方法是`getRequestDispatcher()`和`sendRedirect()`。这两种方式虽然都能实现页面跳转,但在实际应用中有着不同的特点与适用场景。 #### 一、...

    jsp和servlet中实现页面跳转的方式实例总结

    本文实例总结了jsp和servlet中实现页面跳转的方式。分享给大家供大家参考,具体如下: 假设要求从test1.jsp 跳转到test2.jsp 一. jsp中跳转: 1. 使用RequestDispatcher.forward方法转发 &lt;&#37; ...

Global site tag (gtag.js) - Google Analytics