Servlet页面之间跳转
说到Servlet跳转,不得不提一下HttpServletRequest和HttpServletResponse接口
Tomcat收到客户端的http请求,会针对每一次请求,分别创建一个代表请求的request对象、和代表响应的response对象
HttpServletRequest对象
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的方法,可以获得客户这些信息。
HttpServletResponse对象
http响应由状态行、实体内容、消息头、一个空行组成。HttpServletResponse对象就封装了http响应的信息。
页面之间的跳转方式有:请求转发和重定向
请求转发和重定向区别
请求转发 | 重定向 | |
---|---|---|
对象 | request | response |
方法 | request.getRequestDispatcher(String path).forward(request,response); | response.sendRedirect(String path); |
位置 | 服务器 | 浏览器 |
地址栏 | 不变 | 变为新的请求路径 |
路径"/” | 代表本应用程序的根目录 | 代表webapps目录 |
URL范围 | 只能去往当前web应用的资源 | 可去往任意资源 |
请求次数 | 1次 | 2次 |
参数 | 任意参数 | 字符串 |
状态码 | 200 | 302 |
跳转时间 | 立即跳转 | 执行完后面代码,才跳转 |
请求转发发生在服务器,所以造成地址栏不会变,这也就是说浏览器是不知道跳转的动作,转发是对浏览器透明的。