引言

  • 据开学还有24天;
  • 之前状态不佳,最近在恶补算法,准备开学的比赛;

知识点总结

java通用处理response_servlet

HTTP响应消息

响应消息是指服务器端发送给客户端的消息

字符串格式

通过浏览器右键访问“检查”
==========
HTTP/1.1 200
Content-Length: 90
Content-Type: text/html;charset=UTF-8
Date: Mon, 10 Aug 2020 00:04:15 GMT

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  $END$
  </body>
</html>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  $END$
  </body>
</html>

数据格式

1.响应行

1. 组成:协议/版本 响应状态码 状态码描述
2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
		1. 状态码都是3位数字 
		2. 分类:
			 1. 1xx:服务器就收客户端消息,但没有接受完成,等待一段时间后,发送1xx多状态码
			 2. 2xx:成功。代表:200
			 3. 3xx:重定向。代表:302(重定向),304(访问缓存)
			 4. 4xx:客户端错误。
					 * 代表:
						 * 404(请求路径没有对应的资源) 
						 * 405:请求方式没有对应的doXxx方法
			 5. 5xx:服务器端错误。代表:500(服务器内部出现异常)

2.响应头

1.格式:头名称 : 值
2.常见响应头:
    1.Content-Type:服务器告诉客户端本次响应的数据格式及编码格式;
    2.Content-disposition:服务器告诉客户端以什么格式打开响应体数据;
         * in-line:默认值,在当前页面内打开
		 * attachment;filename=xxx:以附件形式打开响应体。文件下载

3.响应空行
4.响应体

传输的数据

Response

介绍

功能

1.重定向

重定向的过程域对象无效;

java通用处理response_客户端_02

具体案例

ServletContext

Servlet上下文(官方直译)指整个Web应用。因为ServletContext对象是全局唯一的,因此又称全局应用程序共享对象。

创建

ServletContext servletContext = request.getServletContext();
        //通过Servlet对象创建
ServletContext servletContext1 = this.getServletContext();
        //父类HttpServlet创建

功能

1.获取MIME类型
    *MIME类型:在互联网通信过程中定义的一种文件数据类型
			* 格式: 大类型/小类型   text/html		image/jpeg
	*获取:String getMimeType(String file)  
2.域对象
    1. setAttribute(String name,Object value)
	2. getAttribute(String name)
	3. removeAttribute(String name)
         * ServletContext对象范围:所有用户所有请求的数据
3.获取文件真实路径
   1. 方法: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);
package ServletContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 文件真实路径
 */
@WebServlet("/contextDemo03")
public class ContextDemo03 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletContext servletContext = request.getServletContext();
        String realPath = servletContext.getRealPath("b.txt");
        System.out.println(realPath);
        String realPath1 = servletContext.getRealPath( "WEB-INF/classes/a.txt");
        System.out.println(realPath1);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     this.doPost(request,response);
    }
}

案例

实现浏览器点击文件下载

(更新ing)