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

相关推荐
小bo波10 小时前
使用Thread子类创建线程 VS 使用Runnable接口创建线程的区别
java·多线程·thread·并发编程·runnable
SamDeepThinking11 小时前
高并发场景下,CompletableFuture与ForkJoinPool该如何取舍?
java·后端·面试
张不才14 小时前
CPU 100% 了怎么办?Java 性能排障的标准化操作
java·后端
shepherd11115 小时前
吞吐量提升 10 倍:高并发大批量数据处理任务的架构演进与性能调优
java·后端·架构
plainGeekDev18 小时前
单例模式 → object 声明
android·java·kotlin
用户2986985301419 小时前
Java 实现 Word 文档文本与图片提取的方法
java·后端
SimonKing20 小时前
铁子,IntelliJ IDEA 2026.1.3来了,升不升?
java·后端·程序员
咖啡八杯1 天前
GoF设计模式——策略模式
java·后端·spring·设计模式
用户128526116022 天前
我把祖传Java项目重构后,接口响应从3s砍到了200ms,只改了这几行代码
java