当前位置: 首页 > article >正文

Tomcat_WebApp

Tomcat的目录的介绍

  1. /bin
    这个目录包含启动和关闭 Tomcat 的脚本。

    • startup.bat / startup.sh:用于启动 Tomcat(.bat 文件是 Windows 系统用的,.sh 文件是 Linux/Unix 系统用的)。
    • shutdown.bat / shutdown.sh:用于停止 Tomcat。
  2. /conf
    这是 Tomcat 的配置文件目录,里面的文件用来配置服务器的行为。

    4aa2181b85c0469da9be492277a5ce79.png

    • server.xml:Tomcat 的核心配置文件,定义了服务器的端口、连接器、虚拟主机等。
    • web.xml:全局的 Web 应用程序配置文件,设置默认的 MIME 类型、欢迎页面、错误处理等。
    • context.xml:每个 Web 应用的默认配置。
  3. /lib
    这个目录包含 Tomcat 运行时需要的 Java 类库和依赖包。大多数情况下,你不需要改动这个目录,它已经包含了 Tomcat 必需的库文件。

  4. /logs
    Tomcat 的日志文件会存放在这里。你可以通过查看这些日志来了解服务器的运行状态、错误信息以及访问记录。

    • catalina.out:这是 Tomcat 主要的日志文件,记录了 Tomcat 启动时输出的所有信息。
  5. /temp
    这是 Tomcat 临时文件的存放目录。在运行 Web 应用时,有些临时文件会存储在这个目录中。

  6. /webapps
    这个目录是 Web 应用程序的部署目录。你可以把 .war 文件(Java Web 应用打包格式)或解压后的应用放在这个目录下,Tomcat 会自动加载和运行这些应用。

    • 默认情况下,Tomcat 自带了一些 Web 应用,比如 ROOTmanager(Tomcat 管理应用)、host-manager 等。
  7. /work
    这个目录存放的是 Tomcat 运行时生成的临时文件,主要是 JSP 转化成的 Servlet 代码。如果你对 JSP 做了修改,Tomcat 会自动重新编译它们,并把生成的文件存放在这里。

小结

  • bin:用于启动和关闭 Tomcat 的脚本。
  • conf:服务器的配置文件。
  • lib:Tomcat 的类库。
  • logs:存放服务器的日志。
  • webapps:存放你的网站或 Web 应用程序。
  • worktemp:存放运行时的临时文件。

 Tomcat_WebApp的标准结构:

/myapp  (应用的根目录)
│
├── /WEB-INF  (Web 应用的核心配置目录)
│   ├── web.xml  (Web 应用的描述符文件)
│   ├── classes/  (存放编译后的 Java 类文件)
│   ├── lib/  (存放 Web 应用的第三方库文件,如 .jar 包)
│   └── classes/  (Java 类文件的目录)
│
├── /META-INF  (可选的元数据目录,通常包含 MANIFEST.MF 文件)
│
├── /static  (存放静态资源文件,图片、CSS、JS等)
│
├── /jsp  (存放 JSP 页面文件)
│
└── index.jsp  (Web 应用的主页文件,可放在根目录)

79dd5c5df8e04757a3934400c26c2be5.png

 

 

url的成部分和项目中资源的对应关系: 

8511421f53b641c983801f7bdee5d8c4.png

 

Web项目部署的方式:

方式1:

直接将编译好的项目放在webapps目录下

方式2 :

将编译好的项目打成war包放在webapps目录,tomcat启动后会自动解压war包(其实和第一种一样,后面通过maven完成)。

方式3:

可以将项目放在非webapps的其他目录下,在Tomcat中通过配置文件指向app的实际磁盘路径。

在tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件

d51257d32df943d4aeb254ab247dbe9e.png

 

69b24c76a86b4e3e9bcdeec924676744.png

 

例如: 

54d52f21ff5245f292dfff59745c2023.png

<!--path:项目的访问路径,也是项目的上下文路径,就是在浏览器中,输入的项目名称
docBase:项目在磁盘中的实际路径
-->
<Context path="/app" docBase="D:\mywebapps\app" />

管理访问 Tomcat 管理页面的权限:


tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了

例如添加账号密码都为admin:

 <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>

    <user username="admin" 
          password="admin" 
          roles="admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status"
    />

浏览器访问:/managerhttp://localhost:8080/manager/html 出现Tomcat Web应用程序管理者即可

如何使用IDEA来开发JavaWeb工程

76a7c798f605478f9182d42ab7ad226b.png

 2b0947d510064f1b8ead42f497559648.png

769616e3d61242ad9ada9b25009695bd.png32a2e85aa8e74049928a135a1cfed72d.png 32ecb4f2a81b44b28505d786ebf38c4f.png

b63f30cd637747daaa61445756fe6c24.png

找到add framework support之后就可以找到web6.0的版本,之后就会有一个web的导包

0fd0831d1a87444d81d3bd98b2cb73cf.png

如何进行把Java依赖项导入IDEA?

a43a6652fa224e36999f1933365c6069.png

建立好了基本框架如何进行Build? 

ee61f15ec11c4261b2bdf3525ccda30d.png

要手动点Build Artificats,否则没有out里面WEB -INF的包 

 Bulid之后有自动的生成的out文件

fda6ba09f5b04500a369b176de34a5fd.png

详细配置,链接:在【IntelliJ IDEA】中配置【Tomcat】【2023版】【中文】【图文详解】_怎么在新版的intellijidea中配置tomcat服务器-CSDN博客 IDEA中设置properties在IDEA中创建properties配置文件_idea创建properties配置文件-CSDN博客

如何在IDEA中使用Tomcat?

3bcef451a0f342a487b2e853c70e30fa.png

2ebaab73285041d199cbcbfb0593b286.pngApplication context是网址输入的名称

258014e90ee142bb92e1619bf39ea34e.png

为什么Tomcat里面没有该项目的XML?

因为TomCat在IDEA当中设置了一个副本 

dd5010a6a4904bc38b5190f1241221d9.png

 


http://www.kler.cn/a/305543.html

相关文章:

  • 搭建监控系统Prometheus + Grafana
  • 软考:去中心化的部署有什么特点
  • 【LeetCode】【算法】19. 删除链表的倒数第N个结点
  • ELK-Logstash配置
  • Ubuntu 的 ROS 操作系统turtlebot3环境搭建
  • [免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】
  • 020、二级Java选择题综合知识点(持续更新版)
  • 树莓派Pico2(RP2350)开发环境搭建
  • Linux内核初始化过程中加载TCP/IP协议栈
  • ios xib 子控件约束置灰不能添加约束
  • 【modou网络库】Reactor架构与TCP通信机制分析
  • 基于hispark_taurus开发板示例学习OpenHarmony编译(1)
  • 记录工作中遇到的问题(持续更新~)
  • TikTok云手机解决运营效率低、封号问题
  • QT消息对话框学习
  • 用户登陆网址都发生了什么?
  • 网络原理1-传输层
  • [mysql]mysql的运算符
  • it基础软件运维管理:从操作系统到数据库,再到中间件和应用系统
  • 测试ASP.NET Core的WebApi项目调用WebService
  • 血缘解析<二>:如何解析带CTE语句的Sql
  • [机器学习]决策树
  • Parallels Desktop 20 for Mac中文版发布了?会哪些新功能
  • 学习笔记-Golang中的Context
  • 基础算法(3)——二分
  • Java邮件:如何配置以实现自动化邮件通知?