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

如何运行第一个Tomcat HttpServlet 程序

怀旧网个人博客网站地址:怀旧网,博客详情:如何运行第一个Tomcat HttpServlet 程序

1、编写一个 Servlet 类

image-20240326110655024

创建一个包

image-20240326110714934

在创建一个类--继承HttpServlet

image-20240326110746080

爆红:原因,没有导入所依赖的包

alt+enter 

image-20240326110815249

选着add macen

image-20240326110830025

选着第一个--javax.servlet 这个

然后随便选一个版本即可。

image-20240326110859813

导入包,没报错,就说明成功了

image-20240326110948506

重写父类的doGet方法。

2、编写配置文件映射

image-20240326111030204

打开配文件

加入配置数据:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <!--  配置映射(对应到主机host文件中的实际地址)  -->
    <servlet>
        <!-- 映射名称-可以随意取 -->
        <servlet-name>hello</servlet-name>
        <!-- 对应到java类的地址 -->
        <servlet-class>com.huaijiuwang.servlet.Hello</servlet-class>
    </servlet>

    <!--  配置映射(对应到主机host文件中的url地址)  -->
    <servlet-mapping>
        <!-- 对应上面的servlet-name -->
        <servlet-name>hello</servlet-name>
        <!--访问的时候访问这个路径即可-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

3、配置完成,启动项目访问hello路径

image-20240326111425961

image-20240326111442695

访问成功,没有报错,但是其中没有数据,现在取加入数据

加入代码

public class Hello extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();
        writer.println("<h1>Hello</h1>");
    }
}

重新启动查看

image-20240326111608366

效果实现,

4、重新设置访问路径,测试

image-20240326111641983

修改配置文件,并重启

image-20240326111711548

再次访问hello爆粗了,试一下新配置的路径

image-20240326111729445

访问成功输出Hello

5、中文乱码问题解决

在代码中输出中文

image-20240326111812158

查看结果

image-20240326111850043

解决方案:

在文件中配置HttpServletResponse对象,设置响应数据的编码

image-20240326111946650

image-20240326112044031

运行还上乱码,原因前端没有设置响应类型,添加响应类型代码。

image-20240326112411843

image-20240326112418898

乱码问题解决

image-20240326112628306

由于这边可以直接设置编码格式,所以setCharacterEncoding可以不用写了

image-20240326112727725


http://www.kler.cn/a/509621.html

相关文章:

  • 彻底讲清楚 单体架构、集群架构、分布式架构及扩展架构
  • Sqlmap入门
  • Spring 核心技术解析【纯干货版】- Ⅶ:Spring 切面编程模块 Spring-Instrument 模块精讲
  • 【Azure 架构师学习笔记】- Azure Function (2) --实操1
  • MongoDB 学习指南:深入探索非关系型数据库
  • dockerhub上一些镜像
  • Mysql--实战篇--连接泄漏问题(什么是连接泄漏,未关闭SqlSession,长事务处理,连接池管理等)
  • JAVA-Exploit编写(7)--http-request库文件上传使用续篇
  • MySQL课堂练习(多表查询练习)
  • Mysql 设置 慢SQL时间并触发邮件
  • HTTP / 2
  • 用户中心项目教程(四)---Vue脚手架完成前端初始化
  • Python基于Django的图像去雾算法研究和系统实现(附源码,文档说明)
  • 脚本工具:PYTHON
  • 人工智能之数学基础:线性表达和线性组合
  • 【大数据2025】MapReduce
  • 解决conda create速度过慢的问题
  • DETRs with Collaborative Hybrid Assignments Training论文阅读与代码
  • 【LeetCode: 226. 翻转二叉树 + 二叉树】
  • 若依入门使用
  • WEB攻防-通用漏洞_XSS跨站_绕过修复_http_only_CSP_标签符号
  • Redis的线程模型是什么
  • Qt QML专栏目录结构
  • 基于Python的心电图报告解析与心电吸引子绘制
  • 嵌入式工程师必学(7):SWD仿真接口(for ARM)的使用方法
  • wps数据分析000002