Skip to content

J2EE Servlet 概念笔记

1. 什么是Servlet?

  • Servlet 是 Java EE 中的一个接口( javax.servlet.Servlet),用于处理 HTTP 请求并生成响应。
  • 它运行在服务器端,能够动态生成 HTML、XML 或其他格式的内容。

2. 创建一个简单的Servlet

创建一个 HelloWorldServlet 类:

java
package com.example.servlets;

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

@WebServlet("/hello")
public class HelloWorldServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
            throws ServletException, IOException {
        // 设置响应内容类型
        response.setContentType("text/plain");
        
        // 发送响应内容
        response.getWriter().println("Hello, World!");
    }
}

3. 配置web.xml文件(可选,如果使用@WebServlet注解则不需要)

WEB-INF/web.xml 中添加以下配置:

xml
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                            http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
          version="3.0">
    <servlet>
        <servlet-name>HelloWorldServlet</servlet-name>
        <class>com.example.servlets.HelloWorldServlet</class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>HelloWorldServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

4. 运行环境

  • Tomcat服务器:确保已安装并配置好。
  • 将项目打包为 .war 文件,部署到 Tomcat 的 webapps 目录。

5. 使用curl调试代码

bash
# 发送GET请求测试Servlet是否正常工作
curl http://localhost:8080/YourProjectName/servlet/hello

# 示例输出:
Hello, World!

总结

  • 概念:Servlet 是 Java EE 中处理 HTTP 请求的组件。
  • 创建步骤:编写继承 HttpServlet 的类,重写 doGet 方法,并配置 URL 映射。
  • 调试方法:使用 curl 命令发送请求到 Servlet 的映射路径。

通过以上代码和命令,你可以轻松验证一个简单的 Servlet 是否正常运行。