tomcat 目录分解和手写servlet

本文详细解析了Tomcat的各个目录结构,包括bin、conf、lib、logs、temp、webapps和work,并重点讲解了在webapps目录下手动创建Servlet的步骤,涉及配置网站资源、编写Servlet类及配置web.xml。通过手动实践,加深了对Tomcat工作原理和web项目结构的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tomcat 目录分解和手写servlet

分解tomcat 各个目录

总览

image-20221021191628580

bin 目录

.bat 结尾的是windows下的批处理文件;.sh是linux 下的批处理shell 文件

说明tomcat 具有操作系统兼容性

image-20221021191714698

conf目录

tomcat 的配置目录

比较关键的是server.xml 文件,该文件指定了一些端口,包括默认的8080端口

image-20221021191845150

server.xml 文件

image-20221021192013258

lib 目录

lib 目录存放了tomcat 提供的一些jar 包

常用的有 servlet-api.jar,提供了servlet 接口。

image-20221021192118582

logs

tomcat 存放日志的地方

tomcat 每次启动或关闭都将日志写到该目录下

image-20221021192340405

temp

临时目录

image-20221021192357067

webapps 目录

网站资源目录,重要

该目录下的每一个文件夹都是一个网站资源。

my 是我自己写,后面演示怎么在my中手写servlet。

ROOT 是tomcat 默认的网站,意思是,当在浏览器 输入 http://localhost:8080的时候,自动访问ROOT 下的网站资源(等价于http://localhost:8080/ROOT)。如果想访问我自己写的 my 网站,则应输入http://localhost:8080/my

补充一点:如果直接访问 http://localhost:8080/my,一般会返回网站的首页资源(index.html 或index.jsp)

image-20221021192430591

接下来分析 这个网站目录 的结构

小技巧:先打开网站目录,在上方地址栏输出cmd ,回车。在dos 下输入 tree >tree.txt /f,即可将该目录的文件结构输出到 txt 文件中

image-20221021194020894

可以看出,网站目录下 有 WEB-INF目录,该目录下,有classes 目录(编译之后的.class 文件) 和lib (.class 文件依赖的jar 包)目录,还有一个web.xml(servlet 的配置文件)文件。另外网站的静态资源,直接放在该网站的根目录下即可。

科普:什么是根目录?根目录是一个相对的概念。一般我们所说的根目录,如果没特殊说明,默认是说windows 下的 C盘 D盘这些盘符,或 linux 系统下的 / 根目录。

还有一个情况就是,这里举例说明:比如D盘下有一个hello.java 文件,还有一个文件夹 aaa,该文件夹里有一个文件hi.java 和 子文件夹bbb。 我们称 hello.java 在D盘的根目录下面,称hi.java 在aaa 的根目录下面。怎么样?有点感觉了吧。在某文件夹下面,其实就是在该文件夹的根目录下面。aaa是D盘的一级目录,bbb是D盘的二级目录。

另外补充一点:

java 源文件,即.java 文件,其实是不重要的。我只需要.class 文件。

重要的是编译后的.class 文件,因为这些.class 文件,才会被加载进jvm 虚拟机中运行。

说到这,我们回顾一下在IDEA 中开发web 项目的架构。


image-20221021195611674

该web 项目中,只有out 目录是发布后的网站资源,其他的不重要。

进一步将,out 目录下的 artifacts目录就是真正的网站资源。

image-20221021195756307

work

tomcat 的工作目录,跟网页的缓存有关

在webapps 下手写servlet

回顾IDEA 开发web 项目的流程
  1. 添加web 支持框架

    image-20221021200349140

  2. 在WEB-INF 目录下,建一个lib 目录,存放jar 包。如果有servlet,就在web.xml 文件中注册servlet。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头和超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家和地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值