【JavaWeb】Servlet_HelloWorld

目录

Servlet 开发流程

  1. 创建JavaWeb项目,同时将tomcat添加为当前项目的依赖
  2. 重写service方法,service(HttpServletRequest req,HttpServletResponse resp)
  3. 在service方法中,定义业务处理代码
  4. 在web.xml中,配置Servlet 对应的的请求映射路径

目标

通过客户端向一个Servlet发送请求,携带username,如果用户名是root,则向客户端响应no,如果是其他,响应yes

创建JavaWeb项目,同时将tomcat添加为当前项目的依赖

创建项目

对该项目添加Web资源组件

先添加tomcat依赖


再添加web资源组件

创建index.html(请求的时候不写资源路径,默认打开该页面)

编辑index.html

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--注意,这里action内容对应web.xml中<url-pattern>中/后面内容-->
<form method="get" action="userServlet">
    用户名:<input type="text" name="username" > <br>
    <input type="submit" value="校验">

</form>
</body>
</html>

编写Java代码

复制代码
package com.baidu.servlet;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class UserServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1 从request 对象中获取请求中的任何信息(username参数)
        // 根据参数名获取参数值,无论参数是在url?后   还是在请求体中
        String username = req.getParameter("username");
        // 2 处理业务的代码
        String info = "yes";
        if("root".equals(username)){
            info = "no";
        }
        // 3 将要响应的数据放入response
        // 该方法返回的是一个向响应体中打印字符流的打印流
        PrintWriter writer = resp.getWriter();
        writer.write(info);
    }
}

web.xml中,配置Servlet 对应的的请求映射路径

测试

加断点

debug模式启动

相关推荐
deviant-ART4 小时前
HttpServletResponse 中 Header 与 OutputStream 的正确使用顺序(避坑指南)
java·后端·servlet
运维全栈笔记2 天前
零基础掌握Jenkins CI/CD:Java项目自动构建与部署全流程指南
git·servlet·ci/cd·gitee·自动化·jenkins·devops
橙子圆1232 天前
SpringMVC5.0
java·spring·servlet
绿草在线2 天前
01基于 Jakarta EE开发 : Servlet + Thymeleaf图书管理系统
servlet
许彰午3 天前
# 手写一个迷你Tomcat——三步理解Servlet容器的核心原理
java·servlet·tomcat
何中应3 天前
记录一次Jenkins构建任务的坑
java·servlet·jenkins
2401_873479404 天前
物联网设备管理中,IP查询工具怎么评估IP安全性?
物联网·tcp/ip·servlet
kaico20184 天前
Jenkins Master 停机与备份
运维·servlet·jenkins
老友@5 天前
Jenkins 中 Node 版本异常排查:Alpine + musl 导致的兼容问题(lts-alpine-jdk17)
java·servlet·jenkins
低客的黑调6 天前
MyBatis-Plus-从 CRUD 到高级特性
java·servlet·tomcat