【JavaEE】Servlet

文章目录

一、Servlet 是什么

二、如何创建Servlet程序

1、创建项目

2、引入依赖

Maven 项目创建完后,会自动生成一个 pom.xml 的文件

我们需要在 pom.xml 中引入 Servlet API 所需要的 jar 包

下面的 jar 包我直接复制在这里,或者你也可以跟着下面的步骤自己查询

复制代码
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

引入 Servlet API 所需要的 jar 包的步骤

  1. 在中央仓库 https://mvnrepository.com/ 中直接搜索 Servlet,一般第一个就是

  2. 选择版本 3.1.0

Servlet 版本要和 Tomcat 对应

如果我们使用 Tomcat 8.5,那么就需要使用 Servlet 3.1.0

可以在 http://tomcat.apache.org/whichversion.html 查询版本对应关系

  1. 把中央仓库中提供的 XML 复制到 pom.xml 中

修改后的 pom.xml:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>hello_servlet</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
</project>

3、创建目录

当项目创建好之后,IDEA 会自动帮我们创建好一些目录;如:

但这些目录还不够,我们还需要创建一些其他的目录/文件:

(1)创建 webapp 目录

(2)创建 WEB-INF 目录

(3)创建 web.xml 文件

(4)编写 web.xml 文件

往 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 Application</display-name>
</web-app>

4、编写代码

在 java 目录中创建 HelloServlet 类,(直接在类中写 doGet 选择会出现如下代码,再修改一些代码,这是比较快捷的方式)

复制代码
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 HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 自动生成的调用父类的代码删除
        //super.doGet(req, resp);

        // 这个代码是打印在 Tomcat 的控制台上
        System.out.println("hello world");
        // 这个打印是打印在响应报文上,显示到页面上
        // 就是把 hello world 字符串作为响应报文的 body 了, 浏览器就会把这个 body 显示在页面上
        resp.getWriter().write("hello world");
    }
}

5、打包程序

使用 Maven 打包,打开 Maven 窗口,一般在页面右侧(找不到可以通过 菜单 -> View -> Tool Window -> Maven 打开)

(1)Maven->s->package

6、部署程序

7、验证程序

相关推荐
许彰午5 小时前
14_Java泛型完全指南
java·windows·python
智慧物业老杨6 小时前
司法绿色通道下的物业纠纷数智化解决方案——基于“三优先“机制的全流程技术落地实践
java·django
2601_961194026 小时前
2026初级会计实务公式总结大全|计算题公式手册PDF
java·spring·eclipse·pdf·tomcat·hibernate
做个文艺程序员6 小时前
第1篇:K8s 核心概念精讲:Pod、Deployment、Service 与 Namespace——Java 开发者快速上手指南
java·云原生·容器·kubernetes·容器编排
小欣加油8 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
闪电悠米8 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
星轨zb8 小时前
LangChain4j 集成 Spring Boot:会话记忆 NPE 的根源与 ChatMemoryProvider 正确配置
java·spring boot·后端·langchain4j
JAVA9658 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
JAVA面经实录9178 小时前
RocketMQ全套学习知识手册
java·kafka·rabbitmq·rocketmq
phltxy9 小时前
Spring AI 从提示词到多模态
java·人工智能·spring