Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。
前言知识:
Java简介
Java是一种跨平台的、面向对象的程序设计语言,Java技术具有卓越的通用性、高效性、平台移植性和安全性
Java体系
Java SE(标准版)
Java EE(企业版)
Java ME(移动版)
JDK简介
JDK(Java Development Kit)是Sun针对Java开发者推出的Java语言的软件开发工具包。
JDK已经成为使用最广泛的Java SDK。
JDK是整个Java的核心,包括Java运行环境、Java工具(如编译、拍错、打包等工具)、Java基础的类库。
JRE(Java Runtime Environment,Java运行环境),运行JAVA程序索必须的环境的集合,包含JVM标准实现及Java核心类库。
JRE包括:Java虚拟机(jvm)、Java核心类库和支持文件、不包含开发工具(JDK)–编译器、调试器和其他工具。
JRE是JDK的子集
Java Servlet
Servlet是一种扩展web服务器功能的组件规范。
它能够以一种可移植的方法来提供动态的、面向用户内容,处理用户请求
常见Servlet容器
IBM WebSphere
Oracle weblogic
Apache Tomcat
Redhat Jboss
开发者一般主要开发的是Servlet容器中的Servlet代码
JPS(Java server Page):sun推出的类似于ASP的镶嵌型的JSP,把JSP TAG镶嵌到HTML语句中,大大简化和方便了网页的设计和修改。
安装Tomcat
安装部署JDK
安装jdk1.8
[root@server ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-headless
检查Java版本
[root@server ~]# java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
安装部署Tomcat
下载Tomcat
[root@server ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
安装Tomcat
[root@server ~]# tar -xzf apache-tomcat-8.5.37.tar.gz
[root@server ~]# mv apache-tomcat-8.5.37 /usr/local/tomcat
Tomcat目录解析
[root@server ~]# ls /usr/local/tomcat/
bin/ //主程序目录
lib/ //库文件目录
logs/ //日志目录
temp/ //临时目录
work/ //自动编译目录jsp代码转换Servlet
conf/ //配置文件目录
webapps/ //页面目录
查看Tomcat版本
[root@server ~]# /usr/local/tomcat/bin/version.sh | grep ^Server
Server version: Apache Tomcat/8.5.37
Server built: Dec 12 2018 12:07:02 UTC
Server number: 8.5.37.0
或者
[root@server ~]# /usr/local/tomcat/bin/catalina.sh version | grep ^Server
Server version: Apache Tomcat/8.5.37
Server built: Dec 12 2018 12:07:02 UTC
Server number: 8.5.37.0
启动Tomcat
[root@server ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
改变防火墙规则
[root@server ~]# firewall-cmd --set-default-zone=trusted
success
客户端访问:
打开浏览器输入http://tomcat地址 :8080
或者自己编辑测试页面
[root@server ~]# vim /usr/local/tomcat/webapps/ROOT/test.jsp
<html>
<body>
<center>
Now time is:<%=new java.util.Date()%>
</center>
</body>
</html>
安装命令行浏览器
[root@server ~]# yum -y install elinks
命令行访问
[root@server ~]# elinks -dump http://127.0.0.1:8080/test.jsp
Now time is:Wed Jan 02 18:07:53 CST 2019
Tomcat配置文件
Tomcat配置文件列表
server.xml //主配置文件
context.xml //定义会话管理器、JDBC等
tomcat-users.xml //用户认证账号和密码配置文件
主配置文件解析
server.xml配置文件框架
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
</Host>
</Engine>
</Service>
</Server>
Server是Tomcat实例的顶层元素,一个tomcat实例。
Service是一个集合,它由一个或者多个Connector以及一个Engine组成。
Connector负责接受用户请求和客户返回响应结果。
Engine负责处理所有Connector所获得的客户请求,它处理在同一个Service中所有Connector元素接收到的客户请求。它匹配请求和自己的虚拟主机,并将请求发送给对应的<Host>
处理,默认主机是localhost。
一个<Engine>
元素可以包含多个<Host>
元素,每个<Host>
的元素定义一个虚拟主机,它包含一个或多个web应用。