servlet介绍,tomcat容器下载启动

1.1servlet是什么?

servlet是一种java程序类,这些类继承了httpservlet类。这些类没有main方法,有两大对象request请求, response响应对象。这些类需要servlet容器才可以运行。

servlet 2.5

servlet 3.0

WEB-INF/web.xml

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

servlet 4.0

WEB-INF/web.xml

java 复制代码
<?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"
metadata-complete="true">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>

servlet 6

WEB-INF/web.xml

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
version="6.0"
metadata-complete="true">
<display-name>Welcome to Tomcat</display-name>
<description>
Welcome to Tomcat
</description>
</web-app>

1.2servlet容器

1.2.1下载 tomcat

9.0.79
10.1.12

解压

启动服务器

将utf-8改为GBK解决启动服务器控制台乱码问题

启动服务器

tomcat默认端口为8080,conf/server.xml 文件可以修改。
tomcat/tomcat-9.0.79/bin/startup.bat 启动

Java Tomcat启动闪退问题分析:

Java环境不对,Tomcat 不同版本需要的Java环境不同。 有时tomcat版本能够正常安装,但启动时检测到java 版本不对就会出现启动黑屏一闪而过的现象。
环境变量没有配置好 Tomcat需要配置好JRE才能正常运行。
Tomcat端口被占用 Tomcat默认需要使用8080等几个端口,如果端口被占用,tomcat启动时就会崩溃,此时需要查找是哪个进程占用了8080端口。
配置文件编码问题 Tomcat启动时会调用几个相关配置文件,如果里面出现了不是UTF-8的字符,或者文件保存时的编码格式不是UTF-8,tomcat编译时就会出错。
服务器端口8080:
浏览器查看
http://localhost:8080

1.2.2 了解jetty

相关推荐
kobesdu1 天前
【ROS2实战笔记-19】ROS2 生命周期节点的启动顺序、状态转换陷阱与热备方案
java·前端·笔记·机器人·ros·ros2
neo_Ggx231 天前
Maven 版本管理详解:SNAPSHOT、Release 与 Nexus 仓库的区别和影响
java·maven
matlabgoodboy1 天前
软件开发定制小程序APP帮代做java代码代编写C语言设计python编程
java·c语言·小程序
江离w1 天前
新版vibecoding项目初始化指令
java
tongluowan0071 天前
Spring MVC 底层工作流程+源码分析
java·spring·mvc
java1234_小锋1 天前
SpringBoot为什么要禁止循环依赖?
java·数据库·spring boot
折哥的程序人生 · 物流技术专研1 天前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试
RH2312111 天前
2026.5.12 Linux
java·linux·数据结构
小新同学^O^1 天前
简单学习 --> WebSocket
java·websocket·网络协议·学习
敲代码的瓦龙1 天前
Java?枚举!!!
java·开发语言