Tomat服务器学习
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访问
启动问题分析
黑窗口一闪而过
可能原因:没有正确配置JAVA_HOME这个环境变量
因为Tomcat是用JAVA写的,所以它依赖于JRE环境
启动报错
可能原因:
端口号被占用
可能原因:启动了两次,或者被其他程序占用
解决方法:找到占用端口号的进程并杀死,或者修改自身端口号
- 杀死进程
找到占用端口号的程序:windows和linux不一样,即用即查
windows任务管理器默认不显示PID,需要设置一下:
修改默认端口号
修改conf/server.xml下的Connector标签的port属性以及其他所有涉及到的并且被占用的端口
关闭
有正常关闭和强制关闭
正常关闭:像我这个Redhat版本的,直接ctrl+c就关闭了
强制关闭:直接把进程关掉,后续处理程序没有完成(在redhat这个版本,即使是直接关掉窗口,也会做完后续操作)
部署项目
有三种方式:
直接将项目放到webapps目录下
访问项目:/<项目名称/项目下的文件名称>
也可以简化,使用war包!
什么是war包呢?
来源: https://www.jianshu.com/p/3b5c45e8e5bd
war包是Sun提出的一种web应用程序格式,与jar类似,是很多文件的压缩包。
war是一个可以直接运行的web模块,通常用于网站,打成包部署到容器中。以Tomcat来说,将war包放置在其\webapps\目录下,然后启动Tomcat,这个包就会自动解压,就相当于发布了。
将项目打包为war包之后放到webapps这个目录下,tomcat会自动将其解压,相当于就完成了项目的部署。部署之后war包依然在。
同样的,当我们删除war包之后,对应的项目也会被删除!相当于快捷地删除了项目
这种方式不需要将项目真正地拷贝到webapps目录下
在conf/server.xml文件中输入以下配置内容:
<Context docBase="<项目的路径>" path="<虚拟目录,也就是访问的时候URL中的目录>"/>
第二种这种在全局配置文件中进行修改的方式有风险,容易把进程搞垮,这种方式对其进行了改进:
在Tomcat目录的的conf/Catalina/localhost目录下创建一个xml文件,把我们在方法2中的内容写到这里,但是不要path:此时,虚拟目录就是这个xml文件的名称。这是最推荐的部署方式:
- 热部署:修改这个xml文件不需要重启服务器进程
- 不需要拷贝内容到文件夹,添加项目只需要一行
- 项目的删除直接注释就好,有记录
项目的目录结构
静态项目和动态项目
静态项目只能放静态内容(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,这样修改了资源文件之后就会重新部署,不需要手动重启服务器,直接就可以访问
另外:
IDEA会为每一个tomcat部署的项目单独建立一份配置文件,配置文件的地址在控制台中可以看到
项目部署后存放的位置是项目下的out\artifacts\下面,关于这一点可以看第一点中说的配置文件的xml,里面有写
我们在编写项目的时候往web文件夹下放资源,部署之后其下所有的内容会被拷贝到out文件夹
WEB-INF下的文件不能被浏览器直接访问,就是说,即使我们输入了路径也没办法访问:
所以我们一般不要把资源放到WEB-INF下
另外,WEB-INF目录下的classes存放的就是我们servlet类编译的字节码文件
断点调试:以调试的形式启动并部署,然后去访问要debug的资源
Tomat服务器学习的更多相关文章
- JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB
JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...
- JavaWeb学习总结(三)——Tomcat服务器学习和使用
收藏 JavaWeb学习总结(三)——Tomcat服务器学习和使用 http://www.cnblogs.com/xdp-gacl/p/3744053.html
- Linux服务器学习(一)
一.首先连接服务器 下载一个windows下连接linux的ssh工具,我这里用的putty.一次填入HostName(主机名,可以是服务器域名也可以是对应的ip).Port(端口号默认为22).Co ...
- 微软Power BI报表服务器学习总览
今天,微软宣布了8月更新Power BI Report Server!此版本包含一些新功能,包括一些备受期待的项目,如报表主题,条件格式改进和报表页面工具提示. 报告 报告主题 用于触发操作的按钮 组 ...
- 游戏服务器学习笔记 5———— twisted Perspective Broker 透明代理
实际上这章压根不需要我来说,twisted官网的Doc里面有专门介绍的章节.写的非常详细. http://twistedmatrix.com/documents/current/core/howto/ ...
- Web服务器学习总结(一):web服务器简介
一.WEB服务器 1.1.WEB服务器简介 1.Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序.当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处 ...
- 服务器学习笔记之servlet
初衷 想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud.在此当 ...
- Kestrel Web 服务器学习笔记
前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...
- Linux操作系统服务器学习笔记一
初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...
随机推荐
- [转]Html 页面常用单词
Html 页面常用单词 本文来自:https://gitee.com/opencc/SchoolAppDemo 第2批: JavaScript ready 准备 function 函数 disappe ...
- Linux通过AIO进行异步读文件
下面列出源代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <a ...
- OpenCL多次循环执行内核的一个简单样例
最近有不少朋友在多次循环执行OpenCL内核程序的时候碰到一些问题.由于对OpenCL初学者而言可能比较普遍,因此我这里给出一个清晰简单的demo来掩饰如何简单又高效地执行循环执行OpenCL内核. ...
- 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_10.RabbitMQ研究-工作模式-路由工作模式介绍
队列在绑定交换机的时候可以指定routingKey, 路由模式: 1.每个消费者监听自己的队列,并且设置routingkey. 2.生产者将消息发给交换机,由交换机根据routingkey来转发消息到 ...
- Mysql使用Java UUID作为唯一值时使用前缀索引测试
Mysql可以使用字符串前缀 作为索引 以节约空间. 下面我们以 Java的UUID 生成的 32位(移除UUID中的 中划线)字符串 来做一下 测试. 表结构: CREATE TABLE `test ...
- 使用super函数----增量重写普通方法和构造方法
使用super函数----增量重写普通方法和构造方法 在子类中如果重写了超类的方法,通常需要在子类方法中调用超类的同名方法,也就是说,重写超类的方法,实际上应该是一种增量的重写方式,子类方法会在超类的 ...
- CSV文件规范及其Java解析方式
Comma-separated values(CSV)文件规范见WIKIPEDIA:https://en.wikipedia.org/wiki/Comma-separated_values#RFC_4 ...
- 第五章 局域网的ARP 欺骗
@ARP欺骗 arp欺骗仅限于局域网. arp欺骗虽然仅限于局域网,但却能让我们掌握网络的布局,以及如何通信:所以,我觉得这个章节非常有用. 监控本机流量 kali linux默认是不转发ip,如果我 ...
- vue-cli 3.x搭建项目以及其中vue.config.js文件的配置
参考链接:https://www.cnblogs.com/wxh0929/p/11271551.html vue-cli3全面配置详解:https://www.jb51.net/article/150 ...
- tomcat8.5.37设置虚拟目录
之前做的solr和tomcat是放在tomcat的webapps下 solr7.2.1+tomcat8.5.37+jdk8安装配置 现在就是放在其他,通过tomcat的server.xml配置虚拟目录 ...