Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
Tomcat就是一个web的服务器,用来发布web项目。
下载:http://tomcat.apache.org/download-70.cgi
解压文件之后,bin目录下的startup.bat,会出现一个dos命令界面,不要关闭的情况下,在浏览器中输入localhost:8080/会跳转到一个页面,这样就表示安装成功了。
安装注意事项:
Tomcat运行需要依赖Java环境,也就是说需要在电脑上安装了JDK之后才可以安装和启动Tomcat。因为Tomcat启动的时候需要使用JRE的环境。必须要配置JAVA_HOME环境变量(这个必须要在系统变量中才行),如果没有配置JAVA_HOME环境变量,那么服务器在启动的时候就会一闪然后关闭。(可以将startup.bat用记事本打开,在最后的end后面的最后一行写上pause,令它停止一下,再打开就会显示错误信息)
如果电脑上安装了一个应用之后,有可能会占用Tomcat的端口,如果将Tomcat端口占用了,同样这个Tomcat启动不了的。Tomcat默认的端口号是8080(很少会有程序占用,除非你启动了两个Tomcat,但是一般80端口容易被其他程序所占用)。因为80端口是HTTP协议的默认端口(一般在http协议下的输入网址字母后面都可以跟:80,无影响,所以可以省略)。
解决端口号冲突导致Tomcat的startup.bat打开不了的方法:
1.将占用端口的程序结束掉。
在cmd命令符中输入命令查看端口号:netstat -ano
假如出现了这个:
8080的端口是PID为9428的占用了,可以在任务管理器中结束这个9428的进程
\2. 改变自身程序的端口。
修改Tomcat的端口号:进入tomcat/conf/server.xml
将配置文件中的
改为其他的即可。
查看日志:
C:\Users\vcc\Desktop\apache-tomcat-9.0.41-windows-x64\apache-tomcat-9.0.41\logs
Tomcat的目录结构:
bin :二进制文件(命令文件:开启和关闭)
conf :配置文件
lib :tomcat所需要的jar包
logs :tomcat服务器日志文件
temp :tomcat运行产生临时文件
webapps :需要发布的项目需要放在webapps下,这样就相当于发布出去了(ROOT中的index.jsp就是发布项目的首页)
work :JSP翻译(编译)成Servlet产生的代码
发布一个Tomcat项目:
可以发布静态,动态项目
如果是静态的项目,只需要有静态页面就够了
动态WEB资源目录结构:
website
|——静态页面(HTML、CSS、JS、图片)
|——JSP页面
|——*WEB-INF*
|—–*web.xml* (必须的,有配置、servlet)
|—–classes (可选的,java类,servlet被编译)
|—–lib (可选的,第三方的jar包)
项目的发布方式:
\1. 直接将项目复制到tomcat/webapps下
将项目复制到tomcat/webapps中,启动服务器:bin/startup.bat
访问项目(本机访问):http://localhost:8080/aaa/index.html(index.html是主页,也可以不写)(也可以将localhost改为ip地址,供其他电脑访问)
\2. 在tomcat/conf/server.xml配置tomcat的虚拟路径
虚拟路径:配置一个名称与一个真实的路径进行绑定,然后访问这个名称从而找到真实路径。
在tomcat/conf/server.xml中进行配置(配置的相关变量属性可以在tomcat的文档中找到,tomcat的文档可以在localhost:8080/下找到)。
要添加
docBase:项目路径(文档的根路径)
path:虚拟路径
启动服务器访问:http://localhost:8080/虚拟路径/index.html
3.在tomcat/conf/Catalina/localhost/下配置tomcat的虚拟路径
第三种方式也需要配置虚拟路径,第二种需要修改server.xml。server.xml是tomcat的核心配置文件,一旦修改错了,那么tomcat服务器就会出现问题。推荐使用第三种配置方式。
在tomcat/conf/Catalina/localhost下创建一个xml文件:
文件的名称就是虚拟路径,只需要访问虚拟路径就可以访问C:\ccc这个路径
启动服务器访问:http://localhost:8080/虚拟路径/index.html
在Eclipse中集成Tomcat
1.选择Eclipse的服务的配置:
打开Eclipse–选择window下的preferences–选择Server下的runtimeenvironment–add添加服务选择ApacheTomcat你的版本,选择安装路径,finish
2.配置服务
切换到javaee视图–在控制台位置找到servers,点击下面的添加–选择ApacheTomcat你的版本,finish–添加好的服务右击open,修改其中的两步
\3. 在eclipse中发布项目
空白处new一个DynamicWebProject,设置项目名称名字,设置模块版本为2.5,finish
(java的代码写到JavaResources的src下,静态页面、jsp写到WebContent下)
创建一个html页面(在WebContent下new),写完之后在下面的Servers右击AddAndRemove,将项目add到右边,finish
在Servers右击start表示开启服务器(现在可以在Tomcat的WebApps下看到项目已经配置了)
\4. 访问项目
浏览器输入http://localhost:8080/项目名字/就可以访问了。
网站访问的过程:BS模式下
http是协议
www是万维网的主机名
baidu.com是域名
访问域名的时候,会先去本地的host文件中查找这个域名是否有匹配的ip地址,如果有,会直接返回,如果没有就会去网络上的DNS服务器查找域名所匹配的ip地址,如果找到了就会直接返回这个ip地址,然后根据80端口去访问相应的ip服务器,如果没有就会出错(404)
DNS服务器:DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
Tomcat虚拟主机的配置:
虚拟主机:在电脑上设置一个目录,使用一个名称与该目录进行绑定。这个路径称为是虚拟主机。主机是可以发布web项目的。
1.抓取一个页面(以百度为例)
2.创建一个路径(虚拟主机的目录):
baidu是虚拟主机的目录,website是项目名称,将抓取的页面放入到项目中
3.配置tomcat的虚拟主机:conf下的server.xml配置。appBase是虚拟主机的目录,name是虚拟主机的名称
4.修改本地的hosts文件:找到C:\Windows\System32\drivers\etc\hosts,修改hosts文件
首先需要知道本机的ip地址:cmd中输入ipconfig /all 找到ip地址
在最下面添加:
5.启动服务器访问项目:在bin下启动服务器:startup.bat
在浏览器输入:http://www.baidu.com:8080/website/baidu.htm
但是一般输入的时候不用输入这么多,所以需要修改一些配置,在conf下的server.xml配置
修改端口号:8080改为80
将路径中的website去掉:在自己的虚拟主机中再配置一个虚拟路径
(只要输入一个/就会去website下查找)上述因为添加了注释的汉字,所以格式需要另存一下,改为utf-8(不然会报错)
配置默认的首页(将baidu.htm去掉):在conf/web.xml下添加baidu.htm为默认页面
注意:修改conf的配置文件后,需要重启服务器