Tomcat学习笔记

一、在DOS里运行Tomcat的方法

  1. (右键)此电脑→属性→高级系统设置→环境变量→新建系统变量,并输入变量名CATALINA_HOME和变量值(即Tomcat的安装路径),点击确定保存
  2.  编辑系统变量里的Path,点击新建,输入%CATALINA_HOME%\bin,点击确定保存
  3. 此时,再运行bin目录里的startup.bat,成功!还会弹出一个窗口
  4.  注意:如果电脑安装了多个不同版本的Tomcat,那么此时在DOS里运行的是环境变量里配置的那个版本的Tomcat

二、 修改Tomcat的端口号

  1. 打开conf目录下的server.xml文件(我用VScode打开)。可以看到Tomcat默认http协议,8080端口(屏幕中间那几行蓝色的代码)
  2. 此时,我们将8080修改为8081,并保存
  3. 再双击运行bin目录里的startup.bat文件,可以看到修改成功
  4. 或者在浏览器上输入localhost:8081(运行startup.bat的cmd窗口没有被关闭的情况下)

三、 如何访问webapps里的项目

  1. 找到webapps文件夹,并打开,此时有五个项目
  2. 以examples项目为例,如果我们要访问其中的index.html文件,那么我们就在浏览器中输入(必须在电脑已经运行Tomcat的前提下)http://localhost:8080/examples/index.html或者http://127.0.0.1:8080/examples/index.html(localhost和127.0.0.1代表本机,正常情况下应该输入服务器ip)。按回车出现如下页面,访问成功
  3.  注意:url里的examples代表项目的访问路径。webapps文件夹里的examples代表项目的部署目录。二者可以不一样

四、 WebApp的标准结构

  1. 一个项目里可以直接放的文件有:(1)index.html(2)images文件夹(图片)(3)js文件夹(js文件)(4)css文件夹(css文件)。如果觉得看起来麻烦,可以创建一个文件夹,取名static,将(2)(3)(4)这三个文件夹放进去
  2.  还有一个WEB-INF文件夹。WEB-INF文件夹里的资源是受保护的资源,即不能通过浏览器直接访问它们。WEB-INF里必须有的:(1)classes文件夹,字节码根路径(2)lib文件夹,放项目需要的第三方jar包(3)web.xml文件,是当前项目的配置文件
  3. 举例证明WEB-INF里的文件都不能被浏览器直接访问(在app文件夹里准备一张图片a.png,在static的images文件夹里准备一张图片b.png,在WEB-INF文件夹里准备一张图片c.png):

五、部署项目的第二种方式

  1. 部署项目的第一种方式就是四、中演示的。 

  2. 部署项目的第二种方式。不一定要把项目放在Tomcat的webapps文件夹里,也可以放在其它地方。我在自己的D盘中创建了一个mywebapps文件夹,把项目放进去

  3. 使用第二种方式时,还需要在Tomcat的conf下创建Catalina/localhost目录,并在该目录下准备一个app.xml文件(即项目名.xml

  4. 编辑该xml文件,有两个必不可少的属性,即path(项目的上下文路径,即在浏览器中输入的项目名称)和docBase(项目在磁盘中的实际路径)。由于项目名叫app,Catalina/localhost里的xml文件也叫app,所以path只能这么指定

  5. 知识点补充:url的组成部分和项目中资源的对应关系,以http://127.0.0.1:8080/app/index.html为例(1)http://是协议(2)127.0.0.1是服务器的ip(因为是本机,所以填写127.0.0.1或localhost)(3)8080是Tomcat的端口号(4)app是项目的上下文路径(5)index.html是项目里的具体资源(如果不写具体资源,默认找index.html文件)

六、webapps里的ROOT目录、 host-manager目录和manager目录

  1. 访问ROOT目录里的资源需要注意:因为该项目的上下文路径不是ROOT,且它有特殊设置,所以不需要加项目的上下文路径就能访问。看url
  2. 访问host-manager目录和manager目录里的资源时需要输入Tomcat账号和密码
  3. 设置Tomcat账号密码,就需要配置文件。进入conf目录,找到tomcat-users.xml文件
  4. 打开该文件,并输入如下代码:
    <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"
        />
  5.  保存并关闭
  6. 重新访问http://127.0.0.1:8080/manager,输入用户名和密码(此时两个都是admin,可以根据需要自己调整)

七、IDEA关联Tomcat

  1. 往Tomcat里放的是:可以用于部署的APP
  2. 在JavaWeb工程里准备的是:html、css、js、img、Java代码、lib(即导入的jar包)、web.xml
  3. 把工程转换为APP的过程,称为构建
  4. 建立IDEA与Tomcat的关联:打开IDEA,点击左侧的自定义,点击所有设置,再点击构建、执行、部署
  5. 展开构建、执行、部署,点击应用程序服务器,再点击+号,选择Tomcat服务器
  6. Tomcat主目录选到bin的上一层
  7. 关联成功,点击应用,再点确定

八、使用IDEA开发JavaWeb工程并部署运行 

  1. 在D盘中新建一个文件夹,名为web-all。打开IDEA,点击打开,找到web-all,点击信任项目
  2. 进行相关配置,点击文件,点击项目结构,配置SDK,这里选择jdk17。语言级别与SDK相匹配。别忘了点击应用和确定
  3. 用Module来创建项目,一个普通Java项目创建完成
  4. 添加项目组件,在项目结构中找到模块→demo01-web01→依赖。点击+号,选择库。别忘了点击应用和确定
  5. 右击demo01-web01,选择添加框架支持。勾选Web应用程序,点击确定。此时会发现多出来一个web目录。这时,就不是一个普通的Java项目了,而是一个JavaWeb项目了!可以把web目录里的.jsp文件删除
  6. 注意:web目录就相当于项目的目录,src目录里放的是Java代码
  7. 可以在demo01-web01中创建一个resources目录,专门用来放配置文件。如果只是这么操作,resources里的文件并不会和src里的代码一起参与编译。为了让它们一起参与编译,右击resources,选择将目录标记为,选择资源根目录
  8. 如何导入jar包:展开web目录,右击WEB-INF,新建目录lib。把磁盘中需要导入的jar包拖到lib中。还必须:右击lib,选中Add as Library...。Level推荐选择Module Library
  9. 如何把工程构建成APP:在构建里选择构建工件
  10. 构建成功。demo01-web01是工程,demo01_web01_war_exploded是可以发布的APP。经过编译,demo01-web01里的web目录变成了demo01_web01_war_exploded
  11. classes文件是由demo01-web01里的resources和src共同生成
  12. 把构建好的APP放入Tomcat:在当前文件中选择编辑配置。点击+号,选择Tomcat服务器,暂时选本地。在部署那一栏里点击+号,选择工件。此时我们还可以修改项目的上下文

九、IDEA使用Tomcat运行JavaWeb项目的原理

  1. 为了保证不污染Tomcat软件,IDEA创建了Tomcat副本,让JavaWeb项目在该副本中运行
  2. 观察日志,在Using CATALINA_BASE这一行,可以看到Tomcat副本以及副本所在的位置
  3. 根据该路径可以找到Tomcat副本,可以观察到副本并不是一个完整的Tomcat。副本里存放的仅仅是与要部署的项目相关的配置文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值