如何运行第一个Tomcat HttpServlet 程序

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

1、编写一个 Servlet 类

创建一个包

在创建一个类--继承HttpServlet

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

alt+enter

选着add macen

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

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

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

重写父类的doGet方法。

2、编写配置文件映射

打开配文件

加入配置数据:

复制代码
<?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路径

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

加入代码

复制代码
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>");
    }
}

重新启动查看

效果实现,

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

修改配置文件,并重启

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

访问成功输出Hello

5、中文乱码问题解决

在代码中输出中文

查看结果

解决方案:

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

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

乱码问题解决

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

相关推荐
软件技术NINI27 分钟前
基于SpringBoot和Vue的新能源汽车销售推荐系统
java·vue.js·spring boot·后端·汽车·毕业设计·毕设
GISer_Jing28 分钟前
Agent相关岗位时收集的各类技术面试题
后端·ai·langchain
Android系统攻城狮33 分钟前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
量化分析码农1 小时前
【Python量化波动率实战 06】一键输出风险看板:波动率仪表盘工程化
后端
Flynn Liang1 小时前
LangChain4j 生产级工程骨架:12 个模块 + Docker 一键启动
java·spring boot·langchain·rag·langchain4j
噢,我明白了2 小时前
JAVA中的一些基础应用知识点
java·开发语言
花间相见2 小时前
【计算基础|Redis02】【上手】五大数据类型命令逐条实操
数据库·redis·后端
GISer_Jing2 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
SL_staff3 小时前
私有化低代码不是妥协,而是企业级数字化的自主可控主航道
java
装不满的克莱因瓶3 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba