Tomat服务器学习

使用的是Redhat版本的Tomcat

目录结构

bin:可执行文件

conf:配置文件

lib:tomcat运行时依赖的jar包

logs:日志文件

temp:临时文件

webapps:存放web项目,将自己的项目放置在这里的子文件夹里面

work:存放运行时的数据

启动

/bin/startup.bat,我下载的这个redhat版本已经把启动做成了一个.exe文件,叫做tomcat7.exe,双击就可以启动:

Tomcat默认端口号为8080.浏览器访问本机127.0.0.1:8080(127.0.0.1也可以用“localhost”代替)就能看到页面了:

注意启动之后这个进程不能关掉

用cmd中的ipconfig查看自己的ip地址可以查看自己的ip,通过内网ip访问

启动问题分析

  1. 黑窗口一闪而过

    可能原因:没有正确配置JAVA_HOME这个环境变量

    因为Tomcat是用JAVA写的,所以它依赖于JRE环境

  2. 启动报错

    可能原因:

    1. 端口号被占用

      可能原因:启动了两次,或者被其他程序占用

      解决方法:找到占用端口号的进程并杀死,或者修改自身端口号

      • 杀死进程

      找到占用端口号的程序:windows和linux不一样,即用即查

      windows任务管理器默认不显示PID,需要设置一下:

      • 修改默认端口号

        修改conf/server.xml下的Connector标签的port属性以及其他所有涉及到的并且被占用的端口

关闭

有正常关闭和强制关闭

正常关闭:像我这个Redhat版本的,直接ctrl+c就关闭了

强制关闭:直接把进程关掉,后续处理程序没有完成(在redhat这个版本,即使是直接关掉窗口,也会做完后续操作)

部署项目

有三种方式:

  1. 直接将项目放到webapps目录下

    访问项目:/<项目名称/项目下的文件名称>

    也可以简化,使用war包!

    什么是war包呢?

    来源: https://www.jianshu.com/p/3b5c45e8e5bd

    war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。

    war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。

    将项目打包为war包之后放到webapps这个目录下,tomcat会自动将其解压,相当于就完成了项目的部署。部署之后war包依然在。

    同样的,当我们删除war包之后,对应的项目也会被删除!相当于快捷地删除了项目

  2. 这种方式不需要将项目真正地拷贝到webapps目录下

    在conf/server.xml文件中输入以下配置内容:

    <Context docBase="<项目的路径>"  path="<虚拟目录,也就是访问的时候URL中的目录>"/>
  3. 第二种这种在全局配置文件中进行修改的方式有风险,容易把进程搞垮,这种方式对其进行了改进:

    在Tomcat目录的的conf/Catalina/localhost目录下创建一个xml文件,把我们在方法2中的内容写到这里,但是不要path:此时,虚拟目录就是这个xml文件的名称。这是最推荐的部署方式:

    1. 热部署:修改这个xml文件不需要重启服务器进程
    2. 不需要拷贝内容到文件夹,添加项目只需要一行
    3. 项目的删除直接注释就好,有记录

项目的目录结构

静态项目和动态项目

静态项目只能放静态内容(html\css\js\图片\文本等),动态项目可以放动态资源(servlet\jsp等等)

java项目的目录结构

-- 项目根目录

​ --WEB-INF目录,只有动态项目有

​ --web.xml:web项目的核心配置文件

​ --classes目录:放置字节码文件的目录

​ --lib:放置依赖的jar包

​ ---静态资源

将Tomcat集成到IDEA中

run/Edit Configuration/Defaults/Tomcat Server/Local(本地的Tomcat服务)

创建一个JavaEE的Web项目

热部署:在上面的配置窗口中,修改on update action和on frame deactivation为update resources,这样修改了资源文件之后就会重新部署,不需要手动重启服务器,直接就可以访问

另外:

  1. IDEA会为每一个tomcat部署的项目单独建立一份配置文件,配置文件的地址在控制台中可以看到

  2. 项目部署后存放的位置是项目下的out\artifacts\下面,关于这一点可以看第一点中说的配置文件的xml,里面有写

    我们在编写项目的时候往web文件夹下放资源,部署之后其下所有的内容会被拷贝到out文件夹

  3. WEB-INF下的文件不能被浏览器直接访问,就是说,即使我们输入了路径也没办法访问:

    所以我们一般不要把资源放到WEB-INF下

  4. 另外,WEB-INF目录下的classes存放的就是我们servlet类编译的字节码文件

  5. 断点调试:以调试的形式启动并部署,然后去访问要debug的资源

Tomat服务器学习的更多相关文章

  1. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

  2. JavaWeb学习总结(三)——Tomcat服务器学习和使用

    收藏 JavaWeb学习总结(三)——Tomcat服务器学习和使用 http://www.cnblogs.com/xdp-gacl/p/3744053.html

  3. Linux服务器学习(一)

    一.首先连接服务器 下载一个windows下连接linux的ssh工具,我这里用的putty.一次填入HostName(主机名,可以是服务器域名也可以是对应的ip).Port(端口号默认为22).Co ...

  4. 微软Power BI报表服务器学习总览

    今天,微软宣布了8月更新Power BI Report Server!此版本包含一些新功能,包括一些备受期待的项目,如报表主题,条件格式改进和报表页面工具提示. 报告 报告主题 用于触发操作的按钮 组 ...

  5. 游戏服务器学习笔记 5———— twisted Perspective Broker 透明代理

    实际上这章压根不需要我来说,twisted官网的Doc里面有专门介绍的章节.写的非常详细. http://twistedmatrix.com/documents/current/core/howto/ ...

  6. Web服务器学习总结(一):web服务器简介

    一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...

  7. 服务器学习笔记之servlet

    初衷 想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud.在此当 ...

  8. Kestrel Web 服务器学习笔记

    前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...

  9. Linux操作系统服务器学习笔记一

    初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...

随机推荐

  1. MySQL 临时表和复制表

    MySQL 临时表在我们需要保存一些临时数据时是非常有用的.临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间. 临时表在MySQL 3.23版本中添加,如果你的MySQL版本 ...

  2. Jmeter启动闪退

    背景:使用Jmeter进行性能测试脚本开发,实现Jmeter接口开发Java请求 问题再现: 1.在官网上下载Jmeter3.2版本,打开jmeter.bat,启动成功 2.在IDEA中创建测试项目和 ...

  3. kvm管理工具Webvirtmgr安装

    虚拟机版本vmware workstation 15.5.0 pro   (也就是linux版) cat /etc/redhat-release CentOS Linux release 7.4.17 ...

  4. Qt编写安防视频监控系统5-视频回放

    一.前言 一般视频回放都会采用GB28181国标来处理,这样可以保证兼容国内各大厂家的NVR,毕竟在同一的国家标准下,大家都会统一支持国标的,就不需要根据各个厂家的SDK来做兼容处理,烦得很,厂家越来 ...

  5. SpringMVC接收集合页面参数

    SpringMVC接收集合页面参数 Spring MVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctyp ...

  6. 安装完 MySQL 后必须调整的 10 项配置(转)

    当我们被人雇来监测MySQL性能时,人们希望我们能够检视一下MySQL配置然后给出一些提高建议.许多人在事后都非常惊讶,因为我们建议他们仅仅改动几个设置,即使是这里有好几百个配置项.这篇文章的目的在于 ...

  7. 如何屏蔽掉烦人的www.google-analytics.com

    有时候在开发的网站项目中会加载谷歌分析的js,并且加载的非常慢导致浏览器一直在转圈圈. 按下面的方法可屏蔽掉烦人的www.google-analytics.com   现在想只有屏蔽掉google-a ...

  8. 机器学习笔记——k-近邻算法(一)简单代码

    一 import numpy as np ##初始化数据 T = [[3, 104, -1], [2, 100, -1], [1, 81, -1], [101, 10, 1], [99, 5, 1], ...

  9. KVM虚拟化介绍(1)

    一.虚拟化分类    1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独 立的空间内运 ...

  10. springmvc 参数解析绑定原理

    handlerMethodArgumentResolver:方法参数解析器接口,这个接口是springmvc参数解析绑定的核心接口.不同的参数类型绑定都是通过实行这个接口来实现.也可以通过实现这个接口 ...