问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Tomcat9.0?

发布网友 发布时间:2024-09-08 01:40

我来回答

1个回答

热心网友 时间:2024-12-14 14:02

j2ee服务器有哪些

众所周知,J2EE应用服务器百花齐放,种类众多。那么J2EE应用服务器有哪些?又有哪些功能呢?一起来看看吧!

从功能实现上划分:

有实现完整J2EE规范(fullprofile)的Weblogic,WebSphere,GlassFish

有实现web应用规范(webprofile)的TomEE,JBoss/WildFly

有基本的Servlet及Jsp规范的Web容器(WebContainer)Tomcat,Jetty,Resin

回顾过去的2015年,各应用服务器市场占有率各有千秋。

下图为各个应用服务器使用率饼图

我们看到,在众多J2EE应用服务器中,Tomcat使用率达到58.66%,稳坐第一。

相较2014年,Tomcat使用率大幅增长,增长将近19%。

整体而言,Tomcat做为Servlet和Jsp规范的参考实现(Referenceimplementation,简称RI),一般都会在第一时间实现规范的新特性并通过Oracle的CTS测试认证。目前最新的Tomcat9.0,虽还是alpha版,但已经实现了Servlet4.0草案,感兴趣的朋友,可以下载尝鲜哦!

Tomcat是一个实现了JAVAEE标准的最小的WEB服务器,是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。因为Tomcat技术先进、性能稳定,而且开源免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。学习JavaWeb开发一般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范,启动界面如图:

?

Tomcat是一款非常优秀的JavaWeb服务器,以致于很多开源Java应用服务器(如JOnAS)直接集成它作为servlet容器。

Tomcat的总体结构

Tomcat中主要涉及Server,Service,Engine,Connector,Host,Context组件,之前用过Tomcat的.童鞋是不是觉得这些组件的名称有点似曾相识的赶脚,没赶脚?!您再想想。好吧,不用你想了,我来告诉你吧。其实在Tomcat二进制分发包解压后,在conf目录中有一个server.xml文件,你打开它瞄两眼看看,是不是发现server.xml文件中已经包含了上述的几个名称。

Tomcat集群源码的类图

从图中我们可以看出Tomcat集群包括以下几个方面的内容:

Session:Session分为StandardSession与ClusterSession两种,后者用于Session复制。

SessionManager:有用于集群Session管理的ClusterSession,也有用于对Session进行一般日常管理的,如PersistentManager,BackupManager,SimpleTcpReplicationManager。

组通迅框架:SessionManager调用组通讯框架进行Session的传输,Tomcat采用的组通

讯框架是tribe,目前tribe已被独立为开放的apache工程。

Cluster:方便集群管理而派生出的逻辑概念,可将实际物理机划分为一个Cluster,也可将一台物理机上不同端口的实例划分为一个Cluster,它有一个简单的实现类SimpleTcpCluster。

1.1Session

服务器集群通常操纵两种session:

1.Stickysessions:尽量让同一个客户请求由同一台服务器来处理,这样stickysessions就是存在于单机服务器中接受客户端请求的session,它不需要进行Session复制,如果这个单机失败的话,用户必须重新登录网站。

2.Replicatedsessions:在一台服务器中的session状态被复制到集群的其他服务器上,无论何时,只要session改变了,session数据都要重新全部或部分(依据复制策略)被复制到其他服务器上。

Tomcat支持以下三种session持久性类型:

1.内存复制:在JVM内存中复制session状态,使用Tomcat自带的SimpleTcpCluster和SimpleTcpClusterManager类。

2.数据库持久性:在这种类型中,session状态保存在一个关系数据库中,服务器使用org.apache.catalina.session.JDBCManager类从数据库中获取Session信息。

3.基于文件的持久性:这里使用类org.apache.catalina.session.FileManager把session状态保存到一个文件系统。

SessionManager

Tomcat通过org.apache.catalina.Manager来管理Session,Manager接口总是和ContextContainer相关联。它主要负责session的建立、更新和销毁。该接口中一些重要的方法有:

用户在Servlet中通过javax.servlet.http.HttpServletRequest接口的getSession方法获得Session,而该接口的实现位于org.apache.catalina.connector.Request类中的doGetSession方法中,在该方法中通过org.apache.catalina.Manager来获得Session,doGetSession方法的部分代码如下:

组通讯框架--Tribe

组通讯框架Tribe在Tomcat中的位置可如下图

如图所示,Tribe的核心主要是Channel类,由此看出,它采用NIO进行Socket通讯,运用

了组播,事件、心跳检测等技术,下面我们来着重看看代码中Tomcat是如何与Tribe衍接首先在SimpleTcpReplication类中的实现Manager接口的start方法中:

Cluster

Cluster用于管理集群中的Session复制,它有一个简单的实现类SimpleTcpCluster。

在CentOS7上安装Tomcat9的方法教程

CentOS是Linux发行版之一,它是来自于RedHatEnterpriseLinux依照开放源代码规定释出的源代码所编译而成。接下来是我为大家收集的在CentOS7上安装Tomcat9的方法教程,希望能帮到大家。

在CentOS7上安装Tomcat9的方法教程

1通过SecureCRT连接到阿里云CentOS7服务器;

2进入到目录/usr/local/中:

cd/usr/local/

3创建目录/usr/local/tools,如果有则忽略:

mkdir-ptools

4创建/usr/local/tomcat目录,如果已存在则忽略:

mkdir-ptomcat

5进入到目录/usr/local/tools中:

cdtools/

6下载apache-tomcat-9.0.0.M4.tar.gz文件:

wget

7解压缩apache-tomcat-9.0.0.M4.tar.gz:

tar-zxvfapache-tomcat-9.0.0.M4.tar.gz

8将通过解压得到的apache-tomcat-9.0.0.M4文件复制到/usr/local/tomcat目录中:

mvapache-tomcat-9.0.0.M4../tomcat/

9打开文件/etc目录下的profile文件:

vim/etc/profile

将如下代码追加到profile文件末尾:

#idea-tomcat9configstart-2016-05-01

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4

PATH=$PATH:$CATALINA_BASE/bin

exportPATHCATALINA_BASE

#idea-tomcat9configend-2016-05-01

保持并推出:wq!

10修改tomcat的端口号和字符编码:

进入到/usr/local/tomcat/apache-tomcat-9.0.0.M4/conf目录中:

cd../tomcat/apache-tomcat-9.0.0.M4/conf

打开tomcat服务的配置文件server.xml:

viserver.xml

找到如下代码:

将其中的8080改成HTTP协议的默认端口80,改后的代码如下:

11增加manager-gui图形化管理界面的访问权限(不需要的话,此步骤可忽略):

打开tomcat的用户配置文件tomcat-users.xml:

vitomcat-users.xml

在标签前加入如下代码:

这里设置的username和password都是password,角色为manager-gui;

键入Esc并输入“:wq!”保持并退出;

12进入到/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin目录中:

cd../bin/

13打开vicatalina.sh文件:

在#OSspecificsupport.前面加入如下代码:

JAVA_HOME=/usr/local/jdk/jdk1.8.0_91

JRE_HOME=$JAVA_HOME/jre

键入Esc并输入“:wq!”保持并退出;

14启动tomcat服务:

./startup.sh

打印如下信息则表明启动Tomcat服务成功:

UsingCATALINA_BASE:/usr/local/tomcat/apache-tomcat-9.0.0.M4

UsingCATALINA_HOME:/usr/local/tomcat/apache-tomcat-9.0.0.M4

UsingCATALINA_TMPDIR:/usr/local/tomcat/apache-tomcat-9.0.0.M4/temp

UsingJRE_HOME:/usr/local/jdk/jdk1.8.0_91/jre

UsingCLASSPATH:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar

Tomcatstarted.

打开浏览器输入IP地址看看吧!如果出现了我们的可爱的“小黄猫”则表明我们的Tomcat已提供服务啦!

15关闭tomcat服务:

./shutdown.sh

打印如下信息则表明关闭Tomcat服务成功:

UsingCATALINA_BASE:/usr/local/tomcat/apache-tomcat-9.0.0.M4

UsingCATALINA_HOME:/usr/local/tomcat/apache-tomcat-9.0.0.M4

UsingCATALINA_TMPDIR:/usr/local/tomcat/apache-tomcat-9.0.0.M4/temp

UsingJRE_HOME:/usr/local/jdk/jdk1.8.0_91/jre

UsingCLASSPATH:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/bootstrap.jar:/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin/tomcat-juli.jar

注意:不可连续执行多次./shutdown.sh命令,多次后报如下错误:

SEVERE:Catalina.stop:

java.net.ConnectException:Connectionrefused

atjava.net.PlainSocketImpl.socketConnect(NativeMethod)

atjava.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

atjava.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

atjava.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

atjava.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

atjava.net.Socket.connect(Socket.java:589)

atjava.net.Socket.connect(Socket.java:538)

atjava.net.Socket.(Socket.java:434)

atjava.net.Socket.(Socket.java:211)

atorg.apache.catalina.startup.Catalina.stopServer(Catalina.java:476)

atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)

atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

atjava.lang.reflect.Method.invoke(Method.java:498)

atorg.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:408)

atorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:497)

16将tomcat9加入到系统服务列表中:

进入到/etc/init.d目录中:

cd/etc/init.d

创建tomcat9服务配置文件:

vitomcat9

将如下代码加入写入到tomcat9配置文件中:

#idea-tomcatconfigstart-2016-05-01

#!/bin/bash

#description:TomcatStartStopRestart

#processname:tomcat

#chkconfig:23452080

JAVA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/

exportJAVA_HOME

PATH=$JAVA_HOME/bin:$PATH

exportPATH

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4/

case$1in

start)

sh$CATALINA_HOME/bin/startup.sh

;;

stop)

sh$CATALINA_HOME/bin/shutdown.sh

;;

restart)

sh$CATALINA_HOME/bin/shutdown.sh

sh$CATALINA_HOME/bin/startup.sh

;;

esac

exit0

#chmod755tomcat

#chkconfig--addtomcat

#chkconfig--level2345tomcaton

#chkconfig--listtomcat

#idea-tomcatconfigend-2016-05-01

键入Esc并输入“:wq!”保持并退出;

其中的注意点是将JAVA_HOME和CATALINA_HOME变量设置成与我们当前配置相一致的路径;

17为tomcat9分配可执行权限:

chmod+xtomcat9

18将tomcat9纳入到系统的服务列表中,即添加tomcat9为系统服务:

chkconfig--addtomcat9

19查看当前系统服务都有哪些:

chkconfig--list

也可以查看指定的系统服务,如这里我们指定tomcat9这个服务:

chkconfig--listtomcat9

打印如下信息:

tomcat90:off1:off2:on3:on4:on5:on6:off

则表明已将tomcat9设置为系统服务,2、3、4、5都为on表示可随系统自动启动;

20我们可以在任意目录下执行关闭、启动、重启Tomcat9服务啦:

20.1关闭tomcat9服务:

servicetomcat9stop

20.2启动tomcat9服务:

servicetomcat9start

20.3重启tomcat9服务:

servicetomcat9restart

后记:

linux系统中的/etc目录表示“设备”,意为与硬件设备相关的信息;

/etc/init.d目录下的文件表示当前设备的初始化配置信息;

命令chkconfig表示添加(--add)、删除(--del)、查看(--list)系统服务;

看了“在CentOS7上安装Tomcat9的方法教程”还想看:

1.CentOS7安装配置图文教程

2.在CentOS7中配置NIC绑定教程

3.CentOS7设置网络自动启动教程

4.Tomcat7.0的安装与配置

5.centos7快速启动应用程序教程

如何在CentOS7上安装Tomcat9

1通过SecureCRT连接到阿里云CentOS7服务器;

2进入到目录/usr/local/中:

cd/usr/local/

3创建目录/usr/local/tools,如果有则忽略:

mkdir-ptools

4创建/usr/local/tomcat目录,如果已存在则忽略:

mkdir-ptomcat

5进入到目录/usr/local/tools中:

cdtools/

6下载apache-tomcat-9.0.0.M4.tar.gz文件:

wget

7解压缩apache-tomcat-9.0.0.M4.tar.gz:

tar-zxvfapache-tomcat-9.0.0.M4.tar.gz

8将通过解压得到的apache-tomcat-9.0.0.M4文件复制到/usr/local/tomcat目录中:

mvapache-tomcat-9.0.0.M4../tomcat/

9打开文件/etc目录下的profile文件:

vim/etc/profile

将如下代码追加到profile文件末尾:

#idea-tomcat9configstart-2016-05-01

CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4

CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4

PATH=$PATH:$CATALINA_BASE/bin

exportPATHCATALINA_BASE

#idea-tomcat9configend-2016-05-01

保持并推出:wq!

10修改tomcat的端口号和字符编码:

进入到/usr/local/tomcat/apache-tomcat-9.0.0.M4/conf目录中:

cd../tomcat/apache-tomcat-9.0.0.M4/conf

打开tomcat服务的配置文件server.xml:

viserver.xml

找到如下代码:

将其中的8080改成HTTP协议的默认端口80,改后的代码如下:

11增加manager-gui图形化管理界面的访问权限(不需要的话,此步骤可忽略):

打开tomcat的用户配置文件tomcat-users.xml:

vitomcat-users.xml

在标签前加入如下代码:

这里设置的username和password都是password,角色为manager-gui;

键入Esc并输入“:wq!”保持并退出;

12进入到/usr/local/tomcat/apache-tomcat-9.0.0.M4/bin目录中:

cd../bin/

13打开vicatalina.sh文件:

在#OSspecificsupport.前面加入如下代码:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电视屏幕不亮但有声音是怎么回事 电视只出声音不出画面怎么调 每天做踩单车的运动能瘦腿吗? 踩单车能瘦腿吗 知道踩自行车能瘦腿吗 注意姿势才是关键 踩自行车可以瘦腿吗 踩单车的好处是什么?怎样进行瘦腿? Adobe AIR是什么?能做什么? adobeair是什么软件,可不可以卸载?? 15--18万之间的车 申购茅台gps定位失败 在Word中,怎样将表格中的文字靠近表格下方? 表格下方文字怎么不能输入? 农行etc用什么信用卡 怎样在word表格下方输入文字? 在word中怎样在表格下方继续输入文字? i茅台上海咋么申购不了 经常口腔溃疡,医生给配的反应停能吃吗 提问:醋酸泼尼松片和反应停能一起吃吗 白塞氏综合症怎么治疗?口腔溃疡反复发作,都是在舌上和嘴角,有中成药吗... 复发性口疮特点及治疗 口腔白塞氏病治疗 豫剧六大名旦排名是怎样的,谁的艺术水平最高,西宁烟云旅游攻略_百度... 新余周边有哪些好玩的好吃的呢,新余周边旅游一日游 离新余近的旅游城市,新余周边旅游景点介绍推荐 江西新余有什么好玩的地方 江西新余8大最好玩的地方 win10d盘不见了如何恢复?win10d盘不见了的解决方法 如何在安装win10后,不见D盘了? 安装win10后发现D盘不见了是怎么回事? 支票采用什么结算方式 北京哪个长城景点最好玩 首选八达岭长城 八达岭长城和居庸关长城的区别 "瑀"字用五笔怎么打? 全新君威用什么机油好 河北省教师资格证认定网上申报完成,不能现场确认,到下一年还可以申报吗... 河北省教师资格证是终身的吗? 简短却置顶很久的惊艳个性签名 河北省教师资格证会过期吗?我是非师范类的 独一无二简短个性签名 适合气质女生的走心句子 秋恋蝶解释其中含义 怀孕可以看别人生孩子吗 情绪的处方:花精内容简介 花精疗法花精的系列 如何清洗豆浆过滤网 花精疗法花精疗法简介 坏人会因为什么变好呢 好人与坏人的经典语录 罹难和遇难的区别 死难和遇难区别 你相信一个坏人会变好吗? 王者荣耀梦境修炼推荐哪个英雄 怎么选王者荣耀梦境修炼英雄_百度...