Java Web之Tomcat目录结构和Web应用

Tomcat目录结构解析

  • |-bin: 存放tomcat的命令, 如启动停止脚本等。
    • catalina.bat 命令:
    • startup.bat -> catalina.bat start
    • shutdown.bat - > catalina.bat stop
  • |- conf: 存放tomcat的配置信息。其中server.xml文件是核心的配置文件。
  • |-lib:支持tomcat软件运行的jar包。其中还有技术支持包,如servlet-api.jar,jsp-api.jar。
  • |-logs:运行过程的日志信息
  • |-temp: 临时目录
  • |-webapps: 共享资源目录。web应用目录。(注意不能以单独的文件进行共享)
  • |-work: tomcat的运行目录。jsp运行时产生的临时文件就存放在这里

Web应用的目录结构

  • |- WebRoot : web应用的根目录
    • |- 静态资源(html+css+js+image+video, 这里的资源可以直接通过url访问)
    • |- WEB-INF : 固定写法(不能通过url直接访问, 需要在web.xml中配置. 在Servlet3.0中, 可以通过WebServlet注解来直接映射url和servlet, 免去web.xml中配置的问题)。
      • |-classes: (可选)固定写法。存放class字节码文件
      • |-lib: (可选)固定写法。存放jar包文件。
      • |-web.xml

下面是Intellij的一个应用目录

Web.xml配置Servlet

如果Servlet版本小于3.0, 或者您不希望使用注解, 那么可以在web.xml中配置您的servlet程序, 一个最简单的实例如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
         version="3.0">
    <!-- 配置一个servlet程序 -->
    <servlet>
        <!-- servlet的内部名称 ,可以自定义-->
        <servlet-name>HelloServlet</servlet-name>
        <!-- servlet类名: 包名+简单类名-->
        <servlet-class>io.github.oncealong.firstSample.HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <!-- servlet的内部名称,和上面的名称保持一致!!!-->
        <servlet-name>HelloServlet</servlet-name>
        <!-- servlet的访问名称: /名称 -->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
</web-app>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏三木的博客

Make

###一、make的功能: make是一个用来维护程序模块关系和生产可执行文件的工具,他可以根据程序修改的情况重新编译链接生成的中间代码或最终的可执行文件。执行...

213100
来自专栏tiane12

Linux执行脚本出现Error: bin/bash^M: bad interpreter: no such file or directory问题解决方法

16630
来自专栏社区的朋友们

深入浅出 Nodejs( 二 ):Nodejs 文件模块机制

本篇教程关于Nodejs的文件模块机制,具体讲CommonJs规范以及Nodejs文件模块的实现原理。

53920
来自专栏DeveWork

WordPress自定义栏目运用实例V:为加密文章添加密码提示文字

默认的话,WordPress中加密的文章时不会有任何的提示的,就一个“加密:”在文章名前面。通常的话,解决这个问题的话我都是直接将密码写在题目中的(比如说这儿,...

21280
来自专栏开源优测

AutoLine源码分析之开始篇

AutoLine开源平台是一个开源自动化测试解决方案,基于RobotFramework进行二次开发,支持RobotFramework几乎所有的库。

12920
来自专栏ShaoYL

iOS---内存分析

34680
来自专栏黄Java的地盘

如何实现一个HTTP请求库——axios源码阅读与分析

在前端开发过程中,我们经常会遇到需要发送异步请求的情况。而使用一个功能齐全,接口完善的HTTP请求库,能够在很大程度上减少我们的开发成本,提高我们的开发效率。

16720
来自专栏coder修行路

Python 并发编程(一)之线程

常用用法 t.is_alive() Python中线程会在一个单独的系统级别线程中执行(比如一个POSIX线程或者一个Windows线程) 这些线程将由操作系统...

29160
来自专栏程序员宝库

linux 常用指令

1.查看目录下有什么文件信息 ls //list查看当前目录下有什么文件 ls -l或ls ll //list -list 通过详...

32180
来自专栏林德熙的博客

git subtree pull 错误 Working tree has modifications

git subtree 是不错的东西,用于 git 管理子项目。 本文记录我遇到问题和翻译网上的答案。

15310

扫码关注云+社区

领取腾讯云代金券