定时提醒-雨林木风dos工具箱
2023年4月4日发(作者:鸿蒙系统怎么下载)
第四章请求和响应(request请求对象、response响应对象)
1.请求和响应的概述:
什么请求:在浏览器地址栏输⼊地址,点击回车请求服务器,这个过程就是⼀个请求过程。
什么响应:服务器根据浏览器发送的请求,返回数据到浏览器在⽹页上进⾏显⽰,这个过程就称之为响应。
rvletResponse对象
HttpServletResponse是⼀个接⼝,它的⽗接⼝是ServletResponse,在开发中通常使⽤HttpServletResponse
响应信息分为三部分:响应⾏、响应头、响应正⽂(响应体)
1.1发送状态码的相关⽅法:
>>>1.设置状态码
setStatus(intsc):参数就是状态码。
setStatus(intsc,Stringsm):第⼀个参数表⽰状态码,第⼆个参数就状态码的描述。
常见的状态码:200响应成功
302重定向
404请求资源找不到
500服务器代码出异常。
2.错误信息⽅法:
sendError(intsc):参数状态码
sendError(intsc,Stringsm):第⼀个参数表⽰状态码,第⼆个参数就状态码的描述。
⽐如:ror(404,“chapter04项⽬的请求资源不存在”);1.2发送响应消息头相关的⽅法:
响应消息头的数据格式:key-value的形式,有的是⼀个key,⼀个value,有的是⼀个key,多个value
>>>1.设置响应消息头:
*⼀个key,⼀个value
setHeader(Stringkey,Stringvalue);
⽐如:setHeader(“aa”,“AA”);
如果:setHeader(“aa”,“AA”);
setHeader(“aa”,“BB”);
最终的结果:aa这个头对应的值就是BB
*⼀个key,对应多个value
addHeader(Stringkey,Stringvalue);
⽐如:addHeader(“aa”,“AA”);
addHeader(“aa”,“BB”);
最终的结果:aa这个头对应的值AA和BB
⽐如:
//与响应消息头相关的⽅法
//在⽤户名和密码输⼊错误的情况下,重新回到登录页⾯让⽤户重新数据
//1.设置状态码
tus(302);
//2.设置响应头,完成重定向到登录页⾯
der(“Location”,"/chapter04/");
>>>2.设置响应数据的长度:setContentLength(intsrc)⽅法
>>>3.设置处理乱码的⽅法:
*setCharacterEncoding(Stringa);参数就是⼀个码表格式,⽐如:“utf-8”
*setContentType(Stringa);参数代表响应数据的类型和码表格式,⽐如:“text/html;charset=utf-8"1.3发送响应体相关的⽅法:
第⼀个⽅法:getOutputStream(),通过response向浏览器返回图⽚、视频等⼆进制数据的⽂件,当然也可以向浏览器、
返回⽂本数据⽐如:
ServletOutputStreamout=putStream();
Stringvalue=“itcast”;
(es());
第⼆个⽅法:getWriter(),通常response向浏览器返回⽂本数据,不能向浏览器返回图⽚、视频等⼆进制⽂件。
⽐如:
//字符流向浏览器输出数据
PrintWriterpw=ter();
Stringvalue=“itcast—”;
//(value);
(value);
1.4解决中⽂输出的乱码问题
第⼀种⽅式:字节流向浏览器输出中⽂,会不会乱码:可能会出现乱码。
出现乱码的原因:服务器端的编码格式和浏览器的编码格式不⼀致引起的。
⽐如:
//1.处理字节流的中⽂乱码问题
Stringdata=“中国”;
ServletOutputStreamout=putStream();
//2.处理乱码:服务器端的编码和浏览器端的编码保持⼀致。
//3.让浏览器端的编码也是utf-8
der(“Content-Type”,“text/html;charset=utf-8”);
//4.让服务器端的中⽂编码格式是utf-8
(es(“utf-8”));
处理字节流的中⽂乱码问题两种⽅式:
>>>>第⼀种:der(“Content-Type”,“text/html;charset=utf-8”);
>>>>第⼆章:tentType(“text/html;charset=utf-8”);
第⼆种⽅式:字符流向浏览器输出中⽂,会不会乱码:肯定乱码。
乱码的形式:??,这个问号就表⽰中⽂的编码格式是采⽤iso-8859-1编码的,这种编码格式不⽀持中⽂。
处理原则:让浏览器和服务器的编码保持⼀致:
//1.处理字符流的中⽂乱码问题
//2.处理服务器的编码,让这个编码⽀持中⽂
racterEncoding(“utf-8”);
//3.处理器浏览器端的编码:
der(“Content-Type”,“text/html;charset=utf-8”);
Stringdata=“中国”;
//4.获取字符流
PrintWriterpw=ter();
(data);
处理字符流的中⽂乱码问题:
>>>第⼀种⽅式:racterEncoding(“utf-8”);
der(“Content-Type”,“text/html;charset=utf-8”);
>>>第⼆种⽅式:tentType(“text/html;charset=utf-8”);结论:在处理字符流和字节流输出中⽂乱码时,都采⽤
tentType(“text/html;charset=utf-8”);
注意:常见的编码格式:
GBGB18030GB2312都是⽀持中⽂的编码格式,当然⽀持其它⼀些字符。
UTF-8:万能码表格式,⽀持所有的字符。
ISO-8859-1:不⽀持中⽂。
1.5实现⽹页的定时跳转并刷新:
定时跳转:从⼀个注册页⾯跳转到登录页⾯,输⼊之前注册的⽤户名和密码。
代码如下:
//1.定时跳转:需要⽤到Refresh响应头
der(“Refresh”,“5;URL=/chapter04/”);
定时刷新:在当前页⾯的地址不发⽣变化,但是当前页⾯⾃⼰定时刷新,页⾯数据会发⽣变化。
代码如下:
der(“Refresh”,“5”);
ter().print(newDate());
.6实现请求重定向
实现重定向相关的⽅法:
>>>第⼀种⽅式:302和Location配合使⽤,实现重定向。
tus(302);
der(“Location”,”/chapter04/");
>>>第⼆种⽅式:sendRedirect("/chapter04/");
重定向通过登录案例来完成:
需求分析:在登录页⾯输⼊⽤户名和密码,在LoginServlet⾥⾯,判断⽤户名和密码是否正确。
如果输⼊错误,会重新定向到登录界⾯,如果正确,跳转到欢迎页⾯。
获取登录页⾯提交的⽤户名和密码:ameter()⽅法。
重定向的特点:1.浏览器地址栏发⽣变化
2.发送了两次请求。都是由浏览器发送的请求
重定向的路径:由于是浏览器发送得到请求,所以路径必须要带项⽬名称,⽐如:/chapter04/;
更多推荐
response setcontenttype
发布评论