Java web课程学习之Request和Response
request和response
l HttpServletRequest
l 请求转发
l HttpServletResponse
l 请求重定向
- 请求流程
每次请求service(),都会由容器创建一个新的对象。
首先用户向Servlet发出请求,然后由tomcat服务器创建request和response两个对象,然后将两个新对象传递给servlet,然后servlet用response返回响应,浏览器解析response响应。
- Servlet对象的比较
① request和response在每一次访问时都被创建,由tomcat服务器创建
② servlet只会被创建一次
③ ServletConfig会为每一个servlet创建一个Config对象,且由servlet维护。ServletConfig属于成员变量
④ ServletContext对象,是这个web项目就有一个此变量,属于全局变量,整个项目都可以被访问到
- HTTPServletRequest
是ServletRequest的子接口,用于封装HTTP请求消息。
- Request功能
① 功能
l 接收用户的参数
l 接收用户的所有请求头信息
l 转发、包含
l 作为域对象也可以存放数据
② 方法
² getParameter(String)方法:根据名字获取一个参数,返回值类型为String
² getParameterValues(String)方法:根据名字获取一组相关数据,返回类型为String[]
- 请求转发
① 转发:是将请求在服务器内部叫个另一个组件再去执行,同时共享request中的数据,其特点有:
l 地址栏不会发生改变
l 在最终servlet中,request对象和中转的request对象是同一个对象,数据不会发生改变
l 请求转发:“/”代表当前web应用根目录即http://localhost:8080/Servlet1115

② 请求域属性
存储在ServletRequest对象中的属性称之为请求域属性,属于同一个请求的多个处理模块之间可以通过请求域属性来传递对象数据。
相关方法有:
l setAttribute()方法
l getAttribute()方法
l removeAttribute()方法
- HTTPServletResponse
是ServletResponse接口的子接口,专门用于http协议,用于封装http响应消息
- Response功能
① 功能
l 设置响应内容:给用户输出html数据
l 设置响应头
l 重定向
② 方法
用于字符流输出,方法:resp.getWriter()
PrintWriter out = response.getWriter();
out.write("名称:" + name);
- 重定向
n 指的是一个web资源受到客户端请求后,通知客户端取访问另一个web资源(例如百度)
n “/”代表当前web应用站点http://localhost:8080
n 浏览器会向服务器发送两次请求,即有两个request/response
n 浏览器地址会发生变化
n 不会共享request中的数据
n 执行重定向的代码为302

- 重定向与转发的区别
①请求转发只转发到当前web应用下,请求重定向转发到另一个web站点;
②请求转发只发送了一次请求,重定向发送了两次请求。请求转发的地址栏还是初次请求的地址栏,重定向的地址栏是第二次请求的地址栏,与之同理,重定向的request不是同一次request;
- 获取参数时出现乱码问题

n 解决方法一

n 解决方法二

Java web课程学习之Request和Response的更多相关文章
- Java web课程学习之JSP
JSP jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. jsp脚本片段 l jsp脚本片段是指 ...
- Java web课程学习之Servlet
Servlet简介 (1) Servlet本质上就是一个Java类,只不过运行在Servlet容器中 (2) Servlet的功能: ① 创建并返回客户请求的动态HTML页面 ② 创建可嵌入到现有 ...
- Java web课程学习之会话(Session)
Session会话 l web应用中的会话是指一个客户端浏览器与web服务器之间连续发生一系列请求和响应过程 l web应用的会话状态是指web服务器与浏览器在会话过程中产生的状态信息,借助会话状 ...
- 【Java Web开发学习】跨域请求
[Java Web开发学习]跨域请求 ================================================= 1.使用jsonp ===================== ...
- 【Java Web开发学习】Spring MVC添加自定义Servlet、Filter、Listener
[Java Web开发学习]Spring MVC添加自定义Servlet.Filter.Listener 转载:https://www.cnblogs.com/yangchongxing/p/9968 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- 【Java Web开发学习】Servlet、Filter、Listener
[Java Web开发学习]Servlet 转发:https://www.cnblogs.com/yangchongxing/p/9274739.html 1.Servlet package cn.y ...
- 【Java Web开发学习】Spring MVC异常统一处理
[Java Web开发学习]Spring MVC异常统一处理 文采有限,若有错误,欢迎留言指正. 转载:https://www.cnblogs.com/yangchongxing/p/9271900. ...
- 【Java Web开发学习】Spring MVC文件上传
[Java Web开发学习]Spring MVC文件上传 转载:https://www.cnblogs.com/yangchongxing/p/9290489.html 文件上传有两种实现方式,都比较 ...
随机推荐
- JavaScript进阶【五】利用JavaScript实现动画的基本思路
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- -2 caffe数据结构
一.Blob 使用: 访问数据元素: 计算diff: 保存数据与读取数据: 二.Layer 三.Net
- 训练1-A
一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案.对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input 输入中含有一些数据,分别是成对出现的花布条和 ...
- Linux 文件压缩
压缩工具 compress/uncompress:对应 .Z 结尾的压缩格式文件 压缩格式:gz.bz2.xz.zip.Z gzip 压缩文件并删除源文件(生成.gz的文件) gunzip 解 ...
- 使用requests爬取小说
实现: import requests import re import time def get_chapter(aim_url): ''' 获取小说章节名称和对应的url地址 :param aim ...
- IIS部署ASP.NET网站后提示只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态...
今天,在IIS上部署网站后,出现了下面错误: 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态.还请确保在应用程序配置的 <sy ...
- Makefile错误总结
自己在做嵌入式驱动时,编写makefile文件是犯的错及解决办法 问题1:makefile 3 missing separator.stop: 问题2:Nothing to be done for ' ...
- 工具-VS2015前端开发工具简介
每个涉及的工具库都给出了入门介绍.基本概念,以及在VS和ASP.NET中的用法.这个白皮书完全就是一个非常难得的前端开发入门手册. 具体涉及到的工具库有: 流行的JS任务执行器:Grunt和Gulp. ...
- BA-siemens-insight_designer不支持win7 64位操作系统
如果把insight安装在win7 64位操作系统中,在编辑图形界面的时候,designer会出现下面的错误对话框,侬还是老老实实的安装32位的系统吧!
- 浙大PAT考试1013~1016(最伤的一次。。)
我能说我1016WA了几天都不得最后还是拿别人代码交的么. .. 真心找不到那个神数据.. . 自己把整个程序的流程都画出来了.细致推敲是木有问题的啊... 题目地址:点击打开链接 先从1013開始介 ...