http://s1.运维网.com/images/20180112/1515762152980186.png
此图为JSP格式的源代码的运行流程
Tomcat
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最新版本为9.0。【来源于百度百科】
JAVA EE包含多个独立的API,Servlet和JSP就是其中的两个,而JAVA EE中著名的API中还包含如下的几个:
JAVA EE APIs:
EJB(Enterprise JavaBeans):JAVA相关的诸多高级功能的实现,如RMI(Remote Method Invocation), 对象/关系映射,跨越多个数据源的分布式事务等;
JMS(Java Message Service):高性能异步消息服务,实现JAVA EE应用程序与非JAVA程序的“透明”通信;
JMX(Java Management Extensions):在程序运行时对其进行交互式监控和管理的机制;
JTA(Java Transaction API):允许应用程序在自身的一个或多个组件中平滑地处理错误的机制;
JavaMail:通过工业标准的POP/SMTP/IMAP协议发送和接收邮件的机制;
Java SE APIs:
JNDI(Java Naming and Directory Interface):用于与LDAP服务交互的API;
JAXP(Java API for XML Processing):用于分析及转换XML(基于XSLT实现);
Java SE API + JDK
Tomcat版本:
http://s1.运维网.com/images/20180112/1515764466361728.png
所有的web contoiner基本上都会提供一个类似于http服务的程序
Tomcat支持远程部署和管理
Tomcat的核心组件:
catalina: servlet container
Coyote: http connection
Jasper: JSP Engine
Tomcat的开发语言:JAVA Tomcat运行在jvm上,所有的java代码都运行为java虚拟机进程
Tomcat Instance: 运行中的tomcat进程(java进程)
Server: 即一个tomcat实例;
Service: 用于将connector关联至engine组件;一个service只能包含一个engine组件和一个或多个connector组件;
Engine:Tomcat的核心组件,用于运行jsp或servlet代码;
Connector:接入并解析用户请求,将请求映射为Engine中运行的代码;之后,将运行结果构建成响应报文;
支持http协议, ajp协议
Host:类似httpd中的虚拟主机;
Context:类似于httpd中的alias; 把一个路径部署成一个单独的应用程序,因为java是比较重量级的
注:大多数情况下,一个server中只提供一个service
注意:每个组件都由“类”来实现,有些组件的实现还不止一种;
顶级类组件:server
服务类组件:service
容器类组件:即可以部署webapp的组件,engine, host, context
连接器组件:connector
被嵌套类组件:valve, logger, realm
把各种组件的组织形式定义成html格式:
Tomcat的运行模式:
standalone:通过内置的web server (http connector)来接收客户端请求;
proxy:由专门的web server服务客户端的http请求;把客户端的请求反代至tomcat
in-process: 两个组件部署于同一主机;
network: 两个部署于不同主机;
安装Tomcat:
官方站点:http://tomcat.apache.org
部署前提:
jdk:注:先安装jdk
Oracel JDK
OpenJDK
官网下载
jdk-8u151-linux-x64.rpm
# rpm -ivh jdk-8u151-linux-x64.rpm
jdk默认安装在/usr/java/
声明JAVA-HOME变量
# vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/java/latest
export PATH=$JAVA_HOME/bin:$PATH
# . /etc/profile.d/java.sh 注:重读此配置文件
上图为java命令查看其版本,能看到上图的信息,说明环境变量配置成功
官网下载 apache-tomcat-8.0.23.tar.gz
#tar xf apache-tomcat-8.0.23.tar.gz -C /usr/local
#cd /usr/local
# ln -sv apache-tomcat-8.0.23 tomcat
# vim /etc/profile.d/tomcat.sh 注:指明tomat的环境变量
export CATALINA_HOME=/usr/local/tomcat
export PATH=$CATALINA_HOME/bin:$PATH
# . /etc/profile.d/tomcat.sh 注:重读此脚本生效
# catalina.sh start 注:启动tomcat,tomcat监听在8080端口上
部署Tomcat:
Tomcat的目录结构:
bin: 脚本及启动时用到的类
lib: 类库
conf: 配置文件
logs: 日志文件
webapps: 应用程序默认部署目录
work:工作目录
temp:临时文件目录
配置文件:
server.xml: 主配置文件
context.xml:每个webapp都可以有专用的配置文件,这些配置文件通常位于webapp应用程序目录下的WEB-INF目录中,用于定义会话管理器、JDBC等;conf/context.xml是为各webapp提供默认配置;
web.xml:每个webapp“部署”之后才能被访问;此文件则用于为所有的webapp提供默认部署相关的配置;
tomcat-users.xml:用户认证的账号和密码配置文件;
catalina.policy:当使用-security选项启动tomcat实例时会读取此配置文件来实现其安全运行策略;
catalina.properties:Java属性的定义文件,用于设定类加载器路径等,以及一些JVM性能相关的调优参数;
logging.properties:日志相关的配置信息;
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com