介绍
Servlet是什么
Servlet
是一个JavaWeb中的技术,主要用于处理Web应用程序中的HTTP请求和响应。
一个Servlet
通常继承自HttpServlet
,并覆盖doGet()
或doPost()
方法来处理HTTP请求。其中,doGet()
方法接收HttpServletRequest
和HttpServletResponse
两个对象,分别代表HTTP请求和响应。使用Servlet API
时,我们不需要直接与底层TCP进行交互,也不需要解析HTTP协议,因为HttpServletRequest
和HttpServletResponse
已经封装好了请求和响应。对于发送响应,我们只需要设置正确的响应类型,然后获取PrintWriter
,写入响应即可。
Servlet工作原理
它的工作原理是基于请求和响应对象进行处理。
使用方法
Servlet配置
Servlet API是一个jar包,我们需要通过Maven来引入它,才能正常编译
<!-- tomcat依赖包10版本10.0.22 9版本9.0.65 -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>9.0.65</version>
<scope>provided</scope>
</dependency>
Servlet处理HTTP请求
Servlet处理HTTP请求的过程包括以下步骤:
- 获取HTTP请求参数。
- 处理HTTP请求。
- 构造HTTP响应。
- 发送HTTP响应。
Servlet代码示例
下面是一个简单的Servlet代码示例,用于处理HTTP GET请求并返回一个HTML页面:
// WebServlet注解表示这是一个Servlet,并映射到地址/lldwb
@WebServlet("/lldwb")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 设置响应类型:
resp.setContentType("text/html");
// 获取输出流:
PrintWriter pw = resp.getWriter();
// 写入响应:
pw.write("<h1>Hello, world!</h1>");
// 最后不要忘记flush强制输出:
pw.flush();
}
}