Response
1. Response对象的功能:
- 设置响应行
- 格式为:HTTP/1.1 200 ok
- 设置状态码:setStatus(int sc);
- 设置响应头:setHeader(String name,String value)
- 设置响应体
- 使用步骤
- 获取输出流
- 字符输出流:PrintWrite getWriter()
- 字节输出流:ServletOutputStream getOutputStream()
- 使用输出流:将数据输出到客户端中
- 获取输出流
- 使用步骤
2. Response的使用:
- 使用Response实现重定向操作
- 设置状态码为302:setStatus(302);
- 设置响应头location:setHeader(“location”,“/servlet路径”);
- 使用response.sendRedirect("https://www.baidu.com"); 必须将location参数中的网址加上域名
简单的重定向实现方式:response.sendRedirect("/servlet路径");
redirect和forward的区别:
- redirect(重定向)的特点:
- 地址栏发生改变
- 重定向可以访问其他站点(服务器)的资源
- 重定向是两次请求。不能使用request域对象来共享数据
- forward(转发)的特点:
- 转发地址栏不发生变化
- 转发只能访问当前服务器下的资源
- 转发是一次请求,可以使用request域来共享数据
- 服务器端输出字符数据到浏览器中
- 步骤
- 获取字符流
- 输出数据
- 乱码问题:
- PrintWrite pw = response.getWriter(); 获取的流默认的编码为ISO-8859-1
- 解决方案为设置该流的默认编码,告诉浏览器响应体所使用的编码
response.setContentType("text/html;charset=utf-8");
- 服务器输出字节数据到浏览器
- 步骤:
- 获取字节输入流
- 输出数据
- 步骤:
- 步骤
3. ServletContext对象:
- 概念:代表整个web项目,可以和服务器进行通信
- 获取:
- 通过request对象获取
request.getServletContext(); - 通过HttpServlet获取
this.getServletContext();
- 通过request对象获取
- 功能
- 获取MIME类型:
- MIME类型:在互联网通信过程中定义的一种文件数据类型
- 格式:大类型/小类型 text/html image/jpg
- 获取:String getMimeType(String file);
- 域对象:共享数据
- getAttribute(String name);
- setAttribute(String name,Object value);
- removeAttribute(String name);
- ServletContext对象范围:所有用户所有请求的数据
- 获取文件的真实路径(服务器)
- String getRealPath(String path)
- String path1 = context.getRealPath("/b.txt"); //web目录下资源访问
- String path2 = context.getRealPath("WEB-INF/c.txt"); //WEB—INF目录下的资源访问
- Sreing path3 = context.getRealPath("WEB-INF/calsses/d.txt"); //src目录下的资源访问
- String getRealPath(String path)
- 获取MIME类型:
网友评论