记录一个细节问题Servlet注解有两种方式

优先级 :注解配置会覆盖 web.xml 中的重复配置

一:通过WebServlet注解配置

极简模式:

java 复制代码
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) {
        // 处理GET请求
    }
}

完整形式:

java 复制代码
@WebServlet(
    name = "UserServlet",
    urlPatterns = {"/user", "/users/*"},
    loadOnStartup = 1,
    initParams = {
        @WebInitParam(name = "dbUrl", value = "jdbc:mysql://localhost:3306/mydb"),
        @WebInitParam(name = "timeout", value = "5000")
    },
    description = "用户管理Servlet"
)
public class UserServlet extends HttpServlet {
    // Servlet实现
}

二:通过web.xml配置

XML 复制代码
<web-app>
    <servlet>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.example.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/login</url-pattern>
    </servlet-mapping>
</web-app>

两种方式记得注释掉不用的那个!!!会导致项目异常,页面404

相关推荐
茶本无香27 分钟前
Java调用Shell脚本执行SQL数据库操作:从入门到实战
java·sql·shell
风流 少年37 分钟前
Spring AI 2.0:MCP
java·后端·spring
天疆说1 小时前
01 硬件选型与 llama.cpp 部署:4× RTX 5880 Ada 跑 DeepSeek-V4-Flash
java·redis·llama
水无痕simon2 小时前
3 短信应用场景以及平台架构
java·服务器
mister_guo2 小时前
JVM 内存管理原理及生产配置实战:从“参数能启动”到“内存可控”
java·jvm
风流 少年2 小时前
Spring AI 2.0:Tool
java·python·spring
爱敲键盘的猴子2 小时前
Java Spring -- 声明式事务控制
java·spring·事务控制
爱编程的小新☆2 小时前
【LeetCode】从递归到 Flood Fill:5 道题吃透 DFS 的选择、回溯与标记
java·算法·leetcode·深度优先·回溯·flood fill
weixin_383196473 小时前
java基础面试题@Autowired和@Resource区别
java·开发语言