第二周03

今天学习了 HTTP 协议以及在 Java Web 开发中如何处理请求和响应。HTTP 是超文本传输协议,是 Web 应用通信的基础。
HTTP 请求由请求行、请求头和请求体组成。在 Java Web 中,可以通过 HttpServletRequest 对象获取请求的相关信息。例如,获取请求参数:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class RequestParamServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String param1 = request.getParameter("param1");
String param2 = request.getParameter("param2");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("

Param1 value: " + param1 + "

");
out.println("

Param2 value: " + param2 + "

");
out.println("");
}
}

当在浏览器地址栏输入http://localhost:8080/项目名/requestParam?param1=value1&param2=value2时,Servlet 就能获取到对应的参数值并显示在页面上。
对于 HTTP 响应,通过 HttpServletResponse 对象进行设置。可以设置响应状态码、响应头和响应体。例如,设置响应状态码为 404:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class ErrorServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setStatus(HttpServletResponse.SC_NOT_FOUND);
}
}

也可以设置响应头,如设置缓存控制:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HeaderServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
// 其他响应内容设置
}
}

而响应体则是返回给客户端的实际内容,如 HTML 页面、JSON 数据等。通过对 HTTP 协议和请求响应的深入学习,我能够更灵活地控制 Web 应用与客户端之间的交互。

posted @ 2025-01-22 22:36  Echosssss  阅读(28)  评论(0)    收藏  举报