X65535JavaWeb部分03
斜杠在浏览器和服务器解析结果
/*
/ 斜杠在浏览器中解析成 http://localhost:8080/
/ 斜杠在服务器上解析成 http://localhost:8080/工程路径/
可以通过servletContext.getRealPath("/") 获取
特殊情况:请求重定向
response.sendRediect("/");
把"/"发送给浏览器,让浏览器去解析
*/
解决回传数据给客户端中文乱码问题
用HttpServletResponse对象的getCharacterEncoding()方法,这个方法的作用就是获得字符集的类型
ISO-8859-1不支持中文

解决方案
HttpServletResponse对象有一个方法setContentType(),这个方法可直接设置ContentType()响应头的值
必须放在获取流对象的前面,不然会失效

请求重定向
是指客户端给服务器发送请求,服务器告诉客户端说,我给你一个地址,你去新地址访问,因为之前的地址可能已经被废弃

这是已经废弃地址的servlet,起名为response1,设置状态码和响应头

这是新的地址response2,写一些在浏览器上显示的内容

请求重定向的特点:
- 浏览器地址栏会发生变化,输入response1,会自动跳转response2
- 2次请求,第1次返回响应头302,第2次返回200
- 不能共享Request中的数据
- 不能访问web-inf下的文件
- 可以访问工程外的资源
下面是请求重定向的第2种实现方式

本文介绍了JavaWeb中斜杠在浏览器和服务器的解析差异,以及如何通过servletContext.getRealPath(/)获取工程路径。针对请求重定向,解释了其工作原理和特点,包括地址栏变化、两次请求过程以及不能共享Request数据等。同时,文章探讨了解决回传数据给客户端中文乱码问题,提出使用setContentType()方法设置响应头的ContentType为支持中文的字符集。
5万+

被折叠的 条评论
为什么被折叠?



