定时提醒-雨林木风dos工具箱

response setcontenttype
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