本文直接展示servlet的测试结果。
servlet的代码中使用sendRedirect:
public class SessionTest extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ... response.sendRedirect("http://localhost:8080/web/"); ...}
查看浏览器交互过程,先是请求该servlet:
-
Request URL:http://localhost:8080/web/SessionTest
-
Request Method:GET
-
Status Code:302 Found
可以看到response返回了302,并带上了location, 指示浏览器做第二次跳转请求,浏览器得到提示后进行第二次请求。
同样的servlet,将代码改为forward,实现了在servlet容器内部的跳转,对浏览器实际上是不可见得。
request.getRequestDispatcher("/index.jsp").forward(request, response);
看一下tomcat服务器的响应,一个200 OK之后,直接返回了内容,很直接
-
Request URL:http://localhost:8080/web/SessionTest
-
Request Method:GET
-
Status Code:200 OK
再看cookie的保存,将以上代码改为将cookie加入response:
Cookie cookie = new Cookie("test","test"); response.addCookie(cookie); PrintWriter out = response.getWriter();
再看HTTP head:
-
Request URL:http://localhost:8080/web/SessionTest
-
Request Method:GET
-
Status Code:200 OK
Tomcat通过HTTP协议的Set-Cookie将servlet的cookie放入了响应头,查看浏览器的cookie,除了jsessionid,又加了一个test/test的cookie进来。
相关推荐
### JSP与Servlet复习知识点详解 #### 一、JSP与Servlet基础知识 **1. JSP简介** - **定义**: Java Server Pages (JSP) 是一种基于Java技术的服务器端脚本语言,用于创建动态网页。 - **特点**: JSP页面可以将...
2. **数据共享**:forward可以共享原始请求的Request数据,redirect则不能,需要使用Session或Cookie等其他机制传递数据。 3. **范围**:forward仅限于当前Web应用内部,redirect可以跨应用甚至跨服务器。 4. **效率...
在这个动力节点的Java视频教程中,重点讲解了Cookie与Session的使用及其相关概念。 首先,教程简要介绍了Cookie,这是一种在客户端(浏览器)存储数据的技术。每个Cookie都有一个唯一的标识符,用于存储用户信息,...
forward(ServletRequest, ServletResponse) - Method in interface javax.servlet.RequestDispatcher Forwards a request from a servlet to another resource (servlet, JSP file, or HTML file) on the server. ...
在Web开发中,"转发"(Forward)和"重定向"(Redirect)是两种常见的请求处理方式,它们在实现客户端和服务器之间的交互时起到至关重要的作用。了解它们的区别对于优化用户体验和提高应用性能至关重要。 首先,让...
### Servlet应用知识点解析 #### 一、选择题解析 **1. 对于ServletRequest接口获取请求参数方法的描述,正确的是:** - **选项分析:** - **a)** 错误,`getParameter` 方法既可以用于接收 POST 请求参数,也...
DIV 开发的优势、页面间参数传递方式、hidden 表单域的作用、JSP 内置对象、Session 和 Application 对象的作用、JSP 动作、Java Servlet API 中 forward 和 redirect 的区别、Class.forName 的作用、分页实现、...
3.转发与重定向:`RequestDispatcher`接口提供了`forward()`和`redirect()`方法,前者在服务器端完成,后者在客户端完成。 三、Servlet通信 1. 参数传递:通过请求参数、请求属性和会话属性进行数据传递。 2. ...
#### Cookie与Session - **Cookie**:客户端存储的一种小型文本文件,用于保存用户信息,便于后续请求识别同一用户。 - **Session**:服务器端存储的用户会话信息,通过Session ID关联用户请求,保持会话状态。 ##...
包括页面间的参数传递、hidden表单域的作用、jsp的内置对象、request和session的作用、jsp动作、servlet API中的forward和redirect、class.forName的作用、分页的实现、cookie被禁止后使用session、项目开发的阶段、...
### Web on Servlet Stack #### Spring Web MVC **Introduction** Spring Web MVC是Spring框架的一个核心模块,主要用于构建基于Servlet容器的Web应用程序。它提供了一个灵活、强大的机制来处理HTTP请求,并将其...
在SMBMS中,Servlet可能会使用请求转发(Request Forward)和重定向(Redirect)两种方式来改变请求的流向。前者在同一服务器内部进行,后者会发送新的HTTP请求到指定URL。 8. **异常处理** 系统中会有统一的异常...
10. **Servlet API中的forward()和redirect()**: - **forward()**:服务器内部重定向,客户端无感知,效率高,不改变URL。 - **redirect()**:客户端重定向,浏览器收到302响应,重新发起请求,URL可见。 11. **...
Servlet 中 forward() 与 redirect() 的区别 Servlet 中有两种页面跳转方式:forward() 和 redirect()。 * forward():一次请求,在容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址。 * ...
本教程将深入讲解JSP的基础知识,包括Servlet、会话跟踪、响应与请求对象以及页面元素。 ### 1. Servlet基础 Servlet是Java Web应用中的核心组件,用于处理HTTP请求。在JSP中,Servlet通常被用来处理业务逻辑。要...
#### 一、Servlet基本概念与配置 **Servlet** 是Java平台上的一个重要的技术,它主要用于处理客户端请求并返回响应结果。在Web应用开发中扮演着核心角色。 - **三个核心要素:** 1. **继承HttpServlet类:** ...
- **转发(Forward)**:发生在服务器端,一次HTTP请求就能完成,它将请求从一个Servlet传递到另一个Servlet或者JSP页面,浏览器的URL不会改变。转发在同一个应用内部进行,不能跨应用或服务器。 - **重定向...
13. Forward和Redirect:Forward和Redirect是两种不同的请求转发机制。Forward是服务器端的请求转发,客户端的URL不变;Redirect是客户端的请求转发,客户端的URL会变换。 14. 事件:在JavaScript中,事件是指用户...
JSP 和 Servlet 相关知识点总结 JSP(Java Server Pages)是一种基于 Java 语言的服务器端脚本语言,用于生成动态网页。Servlet 是一种 Java 类,负责处理来自客户端的请求,生成响应并将其返回给客户端。下面是...
本文档总结了 Java Web 面试题一的答案,涵盖了 Servlet 生命周期、Servlet 和 CGI 的区别、forward 和 redirect 的区别、JSP 中动态 include 和静态 include 的区别、JSP 的内置对象、JSP 的常用指令、JSP 的动作、...