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

相关推荐
圆山猫44 分钟前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管1 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨2 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡2 小时前
算法日记 - Day3
java·开发语言·算法
萧瑟余晖2 小时前
Java深入解析篇九之NIO详解
java·网络·nio
The Chosen One9853 小时前
高进度算法模板速记(待完善)
java·前端·算法
极光代码工作室5 小时前
基于SpringBoot的课程预约系统
java·springboot·web开发·后端开发
Leighteen5 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
名字还没想好☜6 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
圆山猫6 小时前
[Virtualization](三):RISC-V H-extension 与 Guest 执行模式
android·java·risc-v