Tomcat
- 1. 简介
- 2. Tomcat
- 2.1 Tomcat下载
- 2.2 Tomcat的使用
- 2.2.1 配置JAVA_HOME环境变量
- 2.2.2 启动服务器
- 2.3 Tomcat的目录结构
- 3. Javaweb应用程序
- 3.1 WEB应用程序简介
- 3.2 创建web动态项目
- 3.3 war包结构
- 3.4 tomcat部署war包
- 3.5 Tomcat生命周期管理
- 3.6 Tomcat配置
- 3.6.1 端口配置
- 3.6.2 虚拟目录配置
- 3.6.3 配置虚拟主机
- 3.6.4 配置默认应用、默认主页
- 3.6.4 web.xml中的注意点
1. 简介
Internet上供外界访问的Web资源分为:
- 静态web资源:指web页面中供人们浏览的数据始终是不变。
- 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。
在Java中,动态web资源开发技术统称为Javaweb。
学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
2. Tomcat
Tomcat是在SUN公司推出的小型Servlet/JSP调试工具的基础上发展起来的一个优秀的Servlet容器,Tomcat本身完全用Java语言编写。 是一个免费的Web服务器。
2.1 Tomcat下载
官网下载即可,初学者注意以下几个问题:
获取Tomcat安装程序包
- tar.gz文件是Linux操作系统下的安装版本
- exe文件是Windows系统下的安装版本x86 x64(不推荐,有时候奇怪报错)
zip文件是Windows系统下的压缩版本 (建议)Tomcat版本与jdk版本的对应
- 最好按照tomcat版本的x.0对应jdk1.x;如tomcat8.0对应jdk1.8
很多新手对于任何软件都偏向于下载最新版,这是个坏习惯。
可以看到,大部分的网络教学视频都偏向于老版本,因为很多网络公司还在使用老版本,其次就是很多稳定版本就是老版本,比如jdk1.8,tomcat7或8。
对新手来说,无论下载任何包或软件,尽量下载官方发布的稳定版(或长期维护版),而不是最新版。
2.2 Tomcat的使用
2.2.1 配置JAVA_HOME环境变量
很多Java的第三方软件会查找JAVA_HOME路径,不配置的话会启动失败。
Tomcat的setclasspath.bat批处理文件使用JAVA_HOME环境变量
2.2.2 启动服务器
解压安装包后,进入bin目录(可执行二进制文件夹)
bat 后缀表示在windows下运行,sh表示linux下运行。
- 启动服务器:startup.bat
- 关闭服务器:shutdown.bat
双击startup.bat
然后访问:
http://localhost:8080 即可看到tomcat的首页,说明服务器启动成功。
可以通过在cmd中ipconfig命令查看自己的主机ip,然后通过其他的电脑或者手机也可以访问自己的服务器。
假如我的ip地址为127.0.0.1,则使用其他电脑访问
http://127.0.0.1:8080 也能看到tomcat首页注意:有些电脑屏蔽了对外的8080端口访问权限,可以百度查找如何开启防火墙的对外端口,或者直接把防火墙关掉。
双击shutdown.bat可以关闭服务器,不要直接关闭cmd窗口,不然后台端口依旧被占用。
2.3 Tomcat的目录结构
3. Javaweb应用程序
3.1 WEB应用程序简介
WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
一个web应用由多个静态web资源和动态web资源组成,如:
html、css、js文件
Jsp文件、java程序、支持jar包、
配置文件等。
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
3.2 创建web动态项目
本节假设您已懂得servlet开发
使用Eclipse创建一个JavaWeb应用程序,然后打包成war包
打包方法:关闭Tomcat,eclipse中右键项目,导出,搜索选择WARfile,然后将war包生成在Tomcat的App下,再打开Tomcat(war包实际是压缩包,打开Tomcat的时候,会自动被解压为文件夹)
然后访问域名/项目名就能进入项目默认的index.html页面(在web配置文件中可设置默认入口)
3.3 war包结构
3.4 tomcat部署war包
将war包放在tomcat的webapp,然后启动,访问http://localhost:8080/hello
hello是项目名,根据自己的项目名填写
web项目中,src的内容会编译到classes目录中
3.5 Tomcat生命周期管理
用Tomcat的管理平台管理Web应用的生命周期。
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。
manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:
<tomcat-users>
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/>
</tomcat-users>
然后到首页
3.6 Tomcat配置
3.6.1 端口配置
Tomcat配置文件在conf\server.xml中,最常见的配置是改变访问端口(默认8080)
3.6.2 虚拟目录配置
每个 Internet服务可以从多个目录中发布。通过以通用命名约定 (UNC) 名、用户名及用于访问权限的密码指定目录,可将每个目录定位在本地驱动器或网络上。虚拟服务器可拥有一个宿主目录和任意数量的其它发布目录。其它发布目录称为虚拟目录。
假设项目名为myAPP
- 新建myApp.xml文件(与项目名一致)
<?xml version="1.0" encoding="utf-8"?>
a)<Context path="/myapp" docBase="C:\test\myapp"/>
b)docBase:代表的是应用的真实路径。
c)path:网络访问的虚拟目录名
- 将该文件放在\conf\Catalina\localhost目录下
- 虚拟目录访问方式:http://localhost:8080/myapp
3.6.3 配置虚拟主机
假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机,如:www.test1.cn www.test2.com
尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机
- 在\conf\server.xml中增加
<Host name="www.test1.com" appBase="C:\site\test1">
</Host>
<Host name="www.test2.com" appBase="C:\site\test2">
</Host>
- 在test1和test2目录下创建myapp项目,然后创建一个index.html
3.6.4 配置默认应用、默认主页
默认应用
- 将项目的(或虚拟目录的)配置文件名改为ROOT.xml,该项目就变成了默认应用。
默认主页
- 修改项目的web.xml中的welcome-file-list即可。
3.6.4 web.xml中的注意点
- 项目的java build path,要指向WEB-INF/classes
- xml中的类路径,都不要带上.java后缀