【Servlet】如何使用 Servlet 编写第一个 helloword 程序

文章目录

  • 前言
  • 一、创建 Maven 项目
  • 二、引入依赖
  • 三、创建目录
  • 四、编写代码
  • 五、打包项目
  • 六、部署程序
  • 七、运行程序
  • 总结


前言

各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你:
JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等
Java数据结构: 顺序表, 链表, 堆, 二叉树, 二叉搜索树, 哈希表等
JavaEE初阶: 多线程, 网络编程, TCP/IP协议, HTTP协议, Tomcat, Servlet, Linux, JVM等(正在持续更新)


提示:是正在努力进步的小菜鸟一只,如有大佬发现文章欠佳之处欢迎批评指点~ 废话不多说,直接上干货!

一、创建 Maven 项目

Maven 是当前主流的构建工具, 可以提供构建, 测试, 打包一个完整的项目

【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第1张图片
【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第2张图片


二、引入依赖

  • 1, 创建好了 Maven 仓库之后会自动生成一个 pom.xml 文件
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第3张图片

  • 2, 需要在 pom.xml 文件中引入 Servlet 的 API, 点击 https://mvnrepository.com/ --> 索 servlet --> Java Servlet API --> 找到3.1.0版本 --> 拷贝如下内容


<dependency>
    <groupId>javax.servletgroupId>
    <artifactId>javax.servlet-apiartifactId>
    <version>3.1.0version>
    <scope>providedscope>
dependency>

我使用的 Tomcat 是 8.5.x 版本, Servlet API 要使用与之对应的 3.1.0 版本, 参照https://tomcat.apache.org/whichversion.html 查询版本对应关系

  • 3, 敲出 标签 --> 粘贴上述 xml 代码
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第4张图片

三、创建目录

创建 Maven 项目之后就自带了一些目录结构, 但这些不够, 我们还需要 :

  • 在 main 目录下, 和 java 目录并列, 创建一个 webapp 目录 (注意, 不是 webapps)
  • 在 webapp 目录内部创建一个 WEB-INF 目录
  • 在 WEB-INF 目录创建一个 web.xml 文件, 拷贝如下代码进去
DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
    <display-name>Archetype Created Web Applicationdisplay-name>
web-app>

【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第5张图片


四、编写代码

  • 1, 在 main 目录下的 java 目录中创建一个 Hello 类 – > 继承 HttpServlet 类 --> 重写 doGet 方法
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第6张图片

  • 2, 重写 doGet 方法
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第7张图片

  • 3, 加一个注解
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第8张图片

完整代码 :

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;

@WebServlet("/hello")
public class Hello extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("hello world");
        resp.getWriter().write("hello world");
    }
}

五、打包项目

我们需要把所有的源代码打包成一个 .war 格式的压缩包, 所以要先在 pom.xml 中配置一下打包格式打包之后的包名

【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第9张图片

默认打包之后是 jar 包, jar包和 war 包的区别如下:
jar 包是普通的 java 程序打包的结果. 里面会包含一些 .class 文件
war 包是 java web 的程序, 里面除了会包含 .class 文件之外, 还会包含 HTML, CSS, JavaScript, 图片, 以及其他的 jar 包. 打成 war 包格式才能被 Tomcat 识别

打包非常简单 :
【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第10张图片


六、部署程序

  • 1, 在文件夹中打开 war 包
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第11张图片
  • 2, 把 war 包拷贝到 Tomcat 的 webapps 目录下
    【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第12张图片

3, 启动 Tomcat
【Servlet】如何使用 Servlet 编写第一个 helloword 程序_第13张图片


七、运行程序

在浏览器地址栏中输入 : http://127.0.0.1:8080/firstServlet/hello 即可 :

在这里插入图片描述

同时 Tomcat 也会输出 helloword :

加粗样式

在地址栏输入的 URL 是有讲究的 :
1, 8080 是 Tomcat 的端口号(业务端口)
2, firstServlet 是 war 包名, 作为 Context Path, 用来标识哪一个 webapp
3, hello 是@WebServlet 注解中的参数, 作为 ServletPath, 用来标识要调用哪一个类的方法


总结

以上就是本篇的全部内容, 主要介绍了如何 构造HTTP 协议的请求

如果本篇对你有帮助,请点赞收藏支持一下,小手一抖就是对作者莫大的鼓励啦~


上山总比下山辛苦
下篇文章见

在这里插入图片描述

你可能感兴趣的:(JavaEE初阶,servlet)