Response对象
功能:设置响应消息
1.设置响应行
- 格式:HTTP/1.1 200 OK
- 设置状态码:setStatus(int sc)
2.设置响应头:
setHeader(String name,String value)
3.设置响应体
-
使用步骤:
-
获取输出流
字符输出流:Printwriter getWriter()
字节输出流:ServletOutputStream getOutputStream
-
使用输出流,将数据输出到客户端浏览器
-
-
重定向的特点:redirect
- 地址栏发生变化
- 重定向可以访问其他站点(服务器)的资源
- 重定向是两次请求。不能使用request对象来共享数据
-
转发的特点:forward
- 转发地址栏路径不变
- 转发只能访问当前服务器下的资源
- 转发是一次请求,可以使用request对象来共享数据
服务器输出字符数据到浏览器
步骤:
- 获取字符输出流
- 输出数据
注意:
乱码问题:
- PrintWriter pw = response.getWriter();获取的流的默认编码是ISO-8859-1
- 设置该流的默认编码
- 告诉浏览器响应体使用的编码
//简单的形式,设置编码,是在获取流之前设置
response.setContentType(“text/html;charset=utf-8”);
- 验证码
- 本质:图片
- 目的:防止恶意表单注册
ServletContext对象
概念:
代表整个web应用,可以和程序的容器(服务器)来通信
获取:
//通过request对象获取
request.getServletContext();
//通过HttpServlet获取
this.getServletContext();
功能:
获取MIME类型:
- MIME类型:在互联网通信过程中定义的一种文件数据类型
- 格式: 大类型/小类型 text/html , image/jpeg
- 获取:String getMimeType(String file)
域对象:
共享数据
setAttribute(String name,Object value)
getAttribute(String name)
removeAttribute(String name)
ServletContext对象范围:
所有用户所有请求的数据
获取文件的真实(服务器)路径
方法:String getRealPath(String path)
String b = context.getRealPath("/b.txt");//web目录下资源访问
System.out.println(b);
String c = context.getRealPath("/WEB-INF/c.txt");//WEB-INF目录下的资源访问
System.out.println(c);
String a = context.getRealPath("/WEB-INF/classes/a.txt");//src目录下的资源访问
System.out.println(a);