当前位置: 首页 > news >正文

零基础Java Web初学者(三):Servlet的两种配置方法

大家好,我又来分享学习笔记啦!

继上次成功用Maven创建了Web项目后,我终于可以开始学习Java Web的核心——Servlet了。简单说,Servlet就是运行在服务器上的Java小程序,专门用来处理浏览器发来的请求(比如点个按钮、提交个表单),然后返回动态的网页内容。

经过查阅资料和动手实践,我发现主要有两种方式:一种是传统的 web.xml 配置法,另一种是现代简洁的 注解配置法。下面我就把这两种方法都跑通一遍,并记录下过程中的关键点和坑。


1. 准备工作:在Maven项目中创建Servlet类

选择file中的Close Project关机项目

点击Customize然后选择下方的All settings...全部设置

在左侧找出Maven配置它 如图所示 然后插入.xml文件 点击ok回到主页面

点击Projects选择New project新建myxmall项目

然后在src文件夹中 依次创建以下文件夹

如果发现创建文件不是树形结构依次排序的 点击设置图标选择第一个然后根据图片取消勾选就行

然后在pom,xml中写入jar包

然后在HelloServlet中写入想要输出的代码

配置web.xml

然后点击绿色三角 启动运行 出现自己打的文字 就是成功了

2. 方法二:现代配置法——使用注解@WebServlet

从Servlet 3.0(对应Java EE 6,Tomcat 7及以上版本)开始,引入了注解(Annotation)支持。我们可以直接在Servlet类上使用@WebServlet注解,一步到位完成声明和映射。

  1. 在Servlet类上添加注解
    回到我们的HelloServlet.java文件,在类定义的上方添加@WebServlet注解。
    [配图建议:HelloServlet.java的截图,在类名上方添加@WebServlet注解,并设置urlPatterns]

    java

    package com.example.servlet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; // 别忘了导入这个包! import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; // 使用注解配置访问路径 @WebServlet(name = "helloAnnotation", urlPatterns = {"/hello2"}) // 或者更简单的写法:@WebServlet("/hello2") public class HelloServlet extends HttpServlet { // ... doGet方法内容完全不变,和上面一样 ... }
  2. 注释掉或删除web.xml中的配置
    因为我们已经用注解配置了,为了避免冲突,最好把刚才在web.xml里添加的<servlet><servlet-mapping>配置注释掉或删除。当然,保留也无妨,只要路径不同就行(这里是/hello2,和之前的/hello不一样)。

  3. 运行测试

    • 重新部署并启动项目(有时需要重启服务器让注解生效)。

    • 打开浏览器,访问新的路径http://localhost:8080/hello2

    • [配图建议:浏览器成功显示同样内容的页面截图,地址栏显示的是/hello2]

    • 应该能看到和刚才一模一样的结果!这说明@WebServlet注解生效了,它告诉服务器,这个类就是要处理/hello2路径请求的Servlet。

优点:代码少,直观,把配置和类写在一起,开发效率高。
缺点:修改路径需要重新编译Java类。如果项目中有很多Servlet,想统一查看所有路径映射就不如web.xml方便。

4. 总结与选择

那么,到底该用哪种方法呢?

作为一个刚开始学习的新手,我的体会是:

  • 初学阶段强烈建议两种都亲手试试!先通过web.xml配置一遍,能帮你深刻理解“Servlet声明”和“Servlet映射”这两个概念之间的关系。然后再用注解,感受一下它的便捷,也能明白注解背后其实就是在做和web.xml同样的事情。

  • 实际开发:目前绝大多数新项目都采用注解方式,因为它简洁、高效,符合现代开发的习惯。

  • 维护老项目:有些比较老的项目可能还在用web.xml,所以看懂它也是必备技能。

不管用哪种方式,核心思想是不变的:把“一段Java代码”和一个“URL访问路径”绑定起来。理解了这一点,Servlet就算是入门啦!

接下来,我打算深入学习doGetdoPost方法的区别,以及如何接收浏览器传递过来的参数。路还很长,但每一步的“Hello World”都让人充满动力!

如果大家在配置过程中遇到404错误(页面找不到)或者500错误(服务器内部错误,通常是类名写错或注解忘写了),欢迎在评论区留言,我们一起排查!

如切如磋,如琢如磨。

http://www.jsqmd.com/news/486290/

相关文章:

  • 2026 最新|语言发育迟缓优质机构推荐,家长安心选 - 品牌测评鉴赏家
  • 2026少儿英语口语培训机构推荐:三大核心解锁自信沟通力 - 品牌2026
  • 哪个语音公司靠谱?如何选择安全稳定的语音通知平台? - Qqinqin
  • web三个组成部分
  • 2026致孤独症孩子家长:选对训练机构,是给“星星的孩子”最好的底气 - 品牌测评鉴赏家
  • 杭州湖州嘉兴绍兴到广东物流专线哪个公司好
  • System常用接口
  • P14346 [JOISC 2019] 指定城市 / Designated Cities - Link
  • 2026成都自闭症机构大揭秘:如何为孩子找到最佳康复之路 - 品牌测评鉴赏家
  • 深圳坪山青少年篮球培训哪里比较好?2026年机构对比整理 - 前沿公社
  • 科学启蒙,多维成长:2026六大主流少儿英语培训机构推荐 - 品牌2026
  • 孤独症机构怎么选?教育博主实测避坑,2026国标落地后家长必看指南 - 品牌测评鉴赏家
  • 哪家语音通知平台易接入?语音API接口对接指南对比 - Qqinqin
  • 小程序开发定制公司哪家好?2026十大口碑双优小程序开发公司精选 - 品牌种草官
  • 使用 Kettle (Pentaho Data Integration) 創建 MySQL 儲存過程完整教程
  • 西安发育迟缓康复机构怎么选?家长必看的科学筛选指南 - 品牌测评鉴赏家
  • 界面开发详解
  • 嵌入式定时器问题
  • 2026年度甄选:六大主流青少儿英语培训机构推荐 - 品牌2026
  • 警惕!孩子说话晚别乱选机构!3步避开90%的坑,附靠谱参考 - 品牌测评鉴赏家
  • springboot基于Java的旅游民宿网络营销系统
  • 语音通知接口哪家易对接?开发者语音平台选型建议 - Qqinqin
  • PP-DocLayoutV3版面区域检测模型部署
  • OpenCV 实战:从视频处理到图像轮廓检测的全维度解析
  • 语音验证码平台哪个好?国内主流语音服务平台推荐 - Qqinqin
  • 2026年成都自闭症机构排名大揭秘,家长必看! - 品牌测评鉴赏家
  • 力扣 第178场双周赛(A~C)
  • 郑州儿童发育迟缓康复怎么选?家长必看的科学干预与机构挑选指南 - 品牌测评鉴赏家
  • 关于VMware WorkKstation Pro密码破解详细过程
  • 西安自闭症康复机构实测指南|写给焦虑的家长,少走弯路就是给孩子多一份希望 - 品牌测评鉴赏家