目录
2.1 没有配置JAVA_HOME或者JRE_HOME导致的
2.2 已经启动了一个Tomca,两个Tomcat会产生冲突。
六、本地tomcat访问路径localhost:8080改成baidu.com
七、IIS配置本地tomcat访问路径localhost:8080跳转到baidu.com
八、 windows系统中cmd命令查看当前目录下的所有文件和文件夹以及所有子目录下的文件
一、什么是tomcat
1.为什么需要tomcat
这个软件用来装载你的javaweb程序,可以称它为web容器,jsp/servlet程序需要运行在Web容器上,Web容器有很多种,JBoss、WebLogic等等,Tomcat是其中一种。
tomcat是一种web服务器,也可以称作运行在服务器(物理意义上的计算机)上的一种软件包。用来对服务器上的HTML文档提供访问权限控制,即 别人不能远程访问你写的页面,Tomcat提供能够让别人访问自己写的页面的一个程序。
万维网本质上就是“超文本文档”(HTML文档)组成的一个通过超级链接互相访问交互网络。你从甲计算机上的文档A通过超链接访问乙计算机上的文档B,而B必须放在Web服务器(Tomcat)里才能被访问。Tomcat是一个免费的开源的Serlvet容器。
2.什么是tomcat
tomcat是一个中间件,在B/S架构中,浏览器发出的http请求经过tomcat中间件,转发到最终的目的服务器上,响应消息再通过tomcat返回给浏览器。(开启监听端口监听用户的请求,解析用户发来的http请求然后访问到你指定的应用系统,然后你返回的页面经过tomcat返回给用户。)
web应用放到tomcat里面才能跑得起来,而tomcat里面对项目有规定特定的格式,war包的格式
二、配置Tomcat
运行Tomcat需要JDK的支持【Tomcat会通过JAVA_HOME找到所需要的JDK】。
- 新建JAVA_HOME环境变量【路径是JDK的主目录】
- 进入Tomcat目录下的bin中启动startup.bat,以下是成功启动Tomcat的页面。
- 在浏览器地址栏输入http://localhost:8080,如果能够出现Tomcat页面,说明配置成功了!
注意:如果在使用Tomcat时出现了Error deploying web application directory web222
,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【换成JDK7】
当然也有可能不是一帆风顺能够直接启动Tomcat,不能正常启动Tomcat会有以下情况
- JAVA_HOME配置错误
- 端口被占用了
- 第一种方法:在cmd输入netstat -anb查看谁占用了该端口【Tomcat默认的是8080】,在进程中关闭它
- 第二种方法:主动改变tomcat的端口, 到tomcat主目录下的conf/server.xml文件中修改,把8080端口改成是8088或者是其他的
2.1 相关术语介绍
2.2 tomcat结构目录
2.3 目录的简单介绍
- bin:启动和关闭tomcat的bat文件
- conf:配置文件
server.xml
该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)web.xml
文件配置与web应用(web应用相当于一个web站点)tomcat-user.xml
配置用户名密码和相关权限.
- lib:该目录放置运行tomcat运行需要的jar包
- logs:存放日志,当我们需要查看日志的时候,可以查询信息
- webapps:放置我们的web应用
- work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件
2.4 webapps目录的详细说明
在webapps中建立了web1目录,下面放置我们的html文件,jsp文件,图片等等,则web1就被当做web应用管理起来【tomcat6.0以后的版本才支持】
例子:在webapps下创建一个web站点,在web站点下创建一个html文件,访问html文件
2.5 web站点的目录是有规范的
三、设置虚拟主机
3.1什么是虚拟主机?
多个不同域名的网站共存于一个Tomcat中
3.2为什么需要用到虚拟主机?
例子:我现在开发了4个网站,有4个域名。如果我不配置虚拟主机,一个Tomcat服务器运行一个网站,我就需要4台电脑才能把4个网站运行起来。
3.3配置虚拟主机的步骤
- 在tomcat的server.xml文件中添加主机名
-
<Host name="zhongfucheng" appBase="D:\web1"> <Context path="/web1" docBase="D:\web1"/> </Host>
访问虚拟主机下的web站点
四、JavaWeb的三大组件
JavaWeb的三大组件分别是Servlet/filter/Listener。我们在使用过程中,再也没有new过他们,也没有main方法去执行,只是按照接口规范写好这个三大组件对应的类,然后在web.xml中配置一下,他们就可以运行了。
但是其实,tomcat是有main方法的,在BootStrap类中,可以发现类似下面的注入和回调。
五、Tomcat启动
1. 命令行下启动tomcat
cmd启动命令行窗口→通过cd命令到tomcat的bin目录下→运行startup.bat
2.tomcat启动闪退问题
2.1 没有配置JAVA_HOME或者JRE_HOME导致的
2.2 已经启动了一个Tomca,两个Tomcat会产生冲突。
使用如下命令来找出哪个进程占用8080这个端口
netstat -ano | findstr 8080
最后一列为占用8080端口的进程号,PID为23988,在任务管理器里查看改进程号所对应的进程,直接右击结束该进程即可。
或者使用taskkill命令,它主要是用来批量删除某些进程,当然,也可以用来删除一个进程
taskkill /PID /F /F主要是用来强制删除。
查看Tomcat自带的打印日志在Tomcat的logs文件夹下如果出现了
七月 04, 2018 10:40:20 上午 org.apache.catalina.core.StandardService initInternal
严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
类似的错误可能已经运行了一个Tomcat你可以在服务中把它终止掉,然后再运行自己的Tomcat就可以了。
2.3 端口占用问题
端口占用可能会出现这个问题,因为tomcat的默认端口号是8080,如果在是运行tomcat时计算机的程序也有8080的端口号,这时候就会报错404
打开apache-tomcat-9.0.45->conf->server.xml
2.4 误删电脑上的文件导致文件缺少问题
检查tomcat文件中的webapps-ROOT
看看你的文件中是否这些都全着呢,如果只有荧光笔标绘的那两个文件的话,就需要把剩下的加上了
解决方法:去官网下载原安装包,并且找到缺失的放里面或者原文链接
版权声明:本文为CSDN博主「1POQMH.+」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_63324772/article/details/124516436
六、本地tomcat访问路径localhost:8080改成baidu.com
在本地开发的时候有时需要把tomcat默认的访问的地址(localhost:8080)就行修改成外网的地址,这个就可以在本地上进行开发和测试了,减少在外网开发测试的麻烦。
如:在微信开发中就很实用
本次我是把tomcat默认的访问地址 localhost:8080改成 http://baidu.com进行访问。
1、找到C:\Windows\System32\drivers\etc 中的hosts文件,在hosts这个文件中增加下面的代码,保存
2、找到自己tomcat安装目录下的conf文件下的server.xml文件,把8080端口改成80端口,保存
3、启动tomcat,打开浏览器中地址中输入 http://baidu.com 如下图
版权声明:本文为CSDN博主「lvbaolin123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lvbaolin123/article/details/52680991
七、IIS配置本地tomcat访问路径localhost:8080跳转到baidu.com
八、 windows系统中cmd命令查看当前目录下的所有文件和文件夹以及所有子目录下的文件
引用声明
版权声明:本文为CSDN博主「lvbaolin123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lvbaolin123/article/details/52680991
版权声明:本文为CSDN博主「1POQMH.+」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_63324772/article/details/124516436
转载自 tomcat与servlet - 平笙的文章 - 知乎 https://zhuanlan.zhihu.com/p/465936851
Tomcat就是这么简单 - Java3y的文章 - 知乎 https://zhuanlan.zhihu.com/p/33564233