引言
- 据开学还有24天;
- 之前状态不佳,最近在恶补算法,准备开学的比赛;
知识点总结
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.重定向
重定向的过程域对象无效;
具体案例
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)