第一章 request
1.1 什么是requset
request封装了http请求的所有内容
doGet中的参数虽然是接口,但是servlet是由服务器创建的,所以函数也是由服务器调用的,服务器调用的时候自会传入对应的已经new好的类给我们调用.
1.2 request获得http请求中的内容
URL一般指的是网络资源,URI一般指的是磁盘地址,相对地址等等.
1.2.1 获得request请求行中的内容
当请求为:
代码为:
输出为:
当改为get时,最后一个就不是null了,因为地址后有了请求参数
1.2.2 获得客户机的内容
1.2.3 获得request请求头中的内容
输入为:
在浏览器中输入如下地址请求
代码为:
输出为:
应用:
referer可以防止偷资源
1.2.4 reques获得请求体(参数)
虽然表面上说是获得请求体中的内容,但是用get方式提交的参数也能获取.
输入为:
代码为:
输出为:
zq足球,ppq乒乓球
代码为:
输出为:
代码为:
输出为:
1.3 request域对象和请求转发
request对象也是一个存储数据的区域对象,request域的作用范围在一次请求中,所以也有如下方法:
1.4 request的其它细节
1.5 应用(登陆错误信息回显)
代码为:
第二章 response
2.1 什么是reponse
2.2 response设置响应行与响应头
add表示添加,set表示设置,有重名时add会多添加一个,set会覆盖.
代码为:
结果为:
代码为:
结果为:
重定向代码为:
简化版:
结果为: 重定向成功
代码:
结果:刷新成功
2.3 response的writer与outputstream
2.3.1 writer
向缓存中写数据,服务器再把缓存中的数据传给客户端.在这个过程中需要两个码表,第一码表指定向缓存中写入数据时,用什么编码编码数据到缓存,第二个码表指定客户端在进行解码的时候,用什么码表将数据解码.
代码为:
setheader有两部分,一个是设置reponse的码表,一个是告诉客户端的码表.
2.3.2 outputstream
用outpurstream可以向客户端写字节
结果为: