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

相关推荐
独自破碎E3 小时前
Java是怎么实现跨平台的?
java·开发语言
To Be Clean Coder3 小时前
【Spring源码】从源码倒看Spring用法(二)
java·后端·spring
xdpcxq10293 小时前
风控场景下超高并发频次计算服务
java·服务器·网络
想用offer打牌3 小时前
你真的懂Thread.currentThread().interrupt()吗?
java·后端·架构
橘色的狸花猫3 小时前
简历与岗位要求相似度分析系统
java·nlp
独自破碎E3 小时前
Leetcode1438绝对值不超过限制的最长连续子数组
java·开发语言·算法
用户91743965394 小时前
Elasticsearch Percolate Query使用优化案例-从2000到500ms
java·大数据·elasticsearch
yaoxin5211234 小时前
279. Java Stream API - Stream 拼接的两种方式:concat() vs flatMap()
java·开发语言
坚持学习前端日记4 小时前
2025年的个人和学习年度总结以及未来期望
java·学习·程序人生·职场和发展·创业创新
Cosmoshhhyyy4 小时前
《Effective Java》解读第29条:优先考虑泛型
java·开发语言