下面从 概念 → 开发环境 → 基本配置方式 → 示例 → 常见问题 逐步说明如何配置 Java Servlet。
Servlet 是运行在 Servlet 容器(如 Tomcat) 中的 Java 程序,用于处理 HTTP 请求和响应。
无需 web.xml,简单清晰。
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.getWriter().write("Hello Servlet");
}
}
访问:
http://localhost:8080/项目名/hello
适用于老项目或需要集中管理。
web.xml 示例:
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
version="5.0">
<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.example.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
Spring Boot 已内置 Servlet 容器。
@WebServlet("/springHello")
public class MyServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
resp.getWriter().write("Spring Boot Servlet");
}
}
启动类加:
@ServletComponentScan
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
src
└── main
├── java
│ └── com/example/HelloServlet.java
├── resources
└── webapp
└── WEB-INF
└── web.xml
pom.xml
Maven 依赖:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
warTomcat/webappsstartup.bat / startup.sh| 配置项 | 说明 |
|---|---|
@WebServlet(urlPatterns="/x") |
访问路径 |
loadOnStartup=1 |
启动即加载 |
initParams |
初始化参数 |
web.xml |
集中配置 |
❌ 404
→ 路径写错 / 未部署 / 项目名不对
❌ 500
→ Servlet 类未编译 / 包名错误
❌ @WebServlet 不生效
→ Tomcat 版本过低(需 7+)
如果你愿意,我可以:
你现在是 学习阶段 还是 实际项目配置?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。