在HTTP协议中,服务器响应请求的时候需要发送一个响应行(response line),响应行通常由三个部分组成:HTTP版本号、状态码和状态消息。
HTTP版本号表示所使用的HTTP协议版本,状态码表示服务器对请求处理结果的响应状态,而状态消息则对状态码进行文字描述,便于阅读和理解。
1、设置状态码和状态消息:使用setStatus(int sc, String sm)方法可以同时设置状态码和状态消息,其中sc表示状态码,sm表示状态消息。
response.setStatus(200, "OK");
2、设置状态码:使用setStatus(int sc)方法可以只设置状态码。
response.setStatus(404);
3、获取响应状态码:使用getStatus()方法可以获取当前响应的状态码。
int statusCode = response.getStatus();
4、获取响应状态消息:使用getStatusMessage()方法可以获取当前响应的状态消息。
String statusMessage = response.getStatusMessage();
5、设置协议版本:使用setProtocol(String protocol)方法可以设置响应协议的版本。
response.setProtocol("HTTP/1.1");
6、获取协议版本:使用getProtocol()方法可以获取当前响应的协议版本。
String protocol = response.getProtocol();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置状态码和状态消息
response.setStatus(200, "OK");
// 获取状态码和状态消息
int statusCode = response.getStatus();
String statusMessage = response.getStatusMessage();
// 设置协议版本
response.setProtocol("HTTP/1.1");
// 获取协议版本
String protocol = response.getProtocol();
}
注意:响应行通常在响应头中设置,因此在设置完响应行后,我们还需要设置其他的响应头和响应体。具体实现方式会根据所使用的Web框架不同而有所不同。