1.解决乱码问题
通过Request的设置编码表方法和Respose设置浏览器展示编码表解决
//设置请求字符编码,防止乱码
req.setCharacterEncoding("utf-8");
//设置浏览器响应编码[html类型的文本,字符集为utf-8]
resp.setContentType("text/html;charset=utf-8");
2.共享域和请求域
共享域是最大的域,所有Servlet都可设置和共享数据,请求域是两个Servlet实现请求转发的时候可以共享数据,一但断开则共享消失,为了节约资源,请求之间选择请求域共享
<1>共享域
<2>请求域
3.Request的请求转发和Respose重定向的区别
<1>场景:
请求转发:请求转发,是一种服务器的行为,客户端只有一次请求,服务器端转发后会将请求对象保存,地址栏中的URL地址不会改变,得到响应后服务器端再将响应发给客户端【a找b,b找c】
重定向:请求重定向,是一种客户端行文,从本质上讲等同于两次请求,前一次请求对象不会保存,地址栏的URL地址会改变【a找b,b告诉a,c可以完成,a再找c】
<2>区别
重定向和请求转发不太一样,请求转发是只有一个请求,而重定向有两次请求。
所以重定向不能通过请求域共享数据,只有在同一个请求链中才能通过请求域中心数据
<3>补充定时刷新
页面设定刷新时间,指定时间跳转
//设置浏览器响应编码[html类型的文本,字符集为utf-8]
resp.setContentType("text/html;charset=utf-8");
//写出显示数据
resp.getWriter().write("您的用户名有误,3秒回自动跳转到登录页面");
4.请求响应方法详解
<1>Request方法详解【中文注释】
<2>Response方法详解【中文注释】