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最新版本为10.0.5。
原理
Tomcat结构图:
Tomcat主要组件:服务器Server,服务Service,连接器Connector、容器Container。连接器Connector和容器Container是Tomcat的核心。
一个Container容器和一个或多个Connector组合在一起,加上其他一些支持的组件共同组成一个Service服务,有了Service服务便可以对外提供能力了,但是Service服务的生存需要一个环境,这个环境便是Server,Server组件为Service服务的正常使用提供了生存环境,Server组件可以同时管理一个或多个Service服务。
tomcat项目部署
java环境安装
//安装jdk环境 [root@MF ~]# yum -y install java-11-openjdk //查看安装版本 [root@MF ~]# java -version openjdk version "11.0.11" 2021-04-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.11+9-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.11+9-LTS, mixed mode, sharing)
tomcat部署
上官网下载tomcat:Index of /apache/tomcat/tomcat-10/v10.0.6/bin
//下载tomcat [root@MF ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-10/v10.0.6/bin/apache-tomcat-10.0.6.tar.gz //解压部署 [root@MF ~]# ls apache-tomcat-10.0.6.tar.gz [root@MF ~]# tar xf apache-tomcat-10.0.6.tar.gz [root@MF ~]# ls anaconda-ks.cfg apache-tomcat-10.0.6 [root@MF ~]# mkdir /usr/local/tomcat [root@MF ~]# mv apache-tomcat-10.0.6 /usr/local/tomcat/jenkins [root@MF ~]# ls /usr/local/tomcat/jenkins/ bin CONTRIBUTING.md logs RELEASE-NOTES webapps BUILDING.txt lib NOTICE RUNNING.txt work conf LICENSE README.md temp //启动tomcat [root@MF ~]# /usr/local/tomcat/website/bin/startup.sh start Using CATALINA_BASE: /usr/local/tomcat/website Using CATALINA_HOME: /usr/local/tomcat/website Using CATALINA_TMPDIR: /usr/local/tomcat/website/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/website/bin/bootstrap.jar:/usr/local/tomcat/website/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started. [root@MF ~]# ss -antl LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:* LISTEN 0 80 *:3306 *:* LISTEN 0 100 *:8080 *:*
访问测试页面
//写一个hello world的java页面 [root@MF ~]# vi index.jsp [root@MF ~]# cat index.jsp <html> <head> <title>test page</title> </head> <body> <% out.println("Hellow World"); %> </body> </html> [root@MF ~]# mkdir /usr/local/tomcat/website/webapps/test [root@MF ~]# cp index.jsp /usr/local/tomcat/website/webapps/test/ [root@MF ~]# ls /usr/local/tomcat/website/webapps/test index.jsp //重启tomcat [root@MF tomcat]# website/bin/shutdown.sh Using CATALINA_BASE: /usr/local/tomcat/website Using CATALINA_HOME: /usr/local/tomcat/website Using CATALINA_TMPDIR: /usr/local/tomcat/website/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/website/bin/bootstrap.jar:/usr/local/tomcat/website/bin/tomcat-juli.jar Using CATALINA_OPTS: NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED [root@MF tomcat]# website/bin/startup.sh Using CATALINA_BASE: /usr/local/tomcat/website Using CATALINA_HOME: /usr/local/tomcat/website Using CATALINA_TMPDIR: /usr/local/tomcat/website/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/website/bin/bootstrap.jar:/usr/local/tomcat/website/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.
访问Host Manager页面
//修改配置文件 [root@MF website]# cd conf/ [root@MF conf]# ls Catalina jaspic-providers.xml tomcat-users.xml catalina.policy jaspic-providers.xsd tomcat-users.xsd catalina.properties logging.properties web.xml context.xml server.xml [root@MF conf]# vim tomcat-users.xml 。。。。。。 #在末尾添加次些内容 <role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/> </tomcat-users> [root@MF website]# cd webapps/ [root@MF webapps]# ls docs examples host-manager manager ROOT test [root@MF webapps]# cd host-manager/ [root@MF host-manager]# ls css images index.jsp META-INF WEB-INF [root@MF host-manager]# vim META-INF/context.xml 。。。。。。 #在此段添加网段 allow="192\.168\.186\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> 。。。。。。
重新访问
用户名:tomcat
密码:s3cret
登录后出现以下界面
访问服务器状态
//修改配置文件 [root@MF webapps]# vim manager/META-INF/context.xml 。。。。。。。 allow="192\.168\.186\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> [root@MF webapps]# vim manager/META-INF/context.xml [root@MF webapps]# vim ../conf/tomcat-users.xml 。。。。。。 <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui,manager-gui"/> </tomcat-users> //重启 [root@MF webapps]# ../bin/catalina.sh stop Using CATALINA_BASE: /usr/local/tomcat/website Using CATALINA_HOME: /usr/local/tomcat/website Using CATALINA_TMPDIR: /usr/local/tomcat/website/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/website/bin/bootstrap.jar:/usr/local/tomcat/website/bin/tomcat-juli.jar Using CATALINA_OPTS: NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED [root@MF webapps]# ../bin/catalina.sh start Using CATALINA_BASE: /usr/local/tomcat/website Using CATALINA_HOME: /usr/local/tomcat/website Using CATALINA_TMPDIR: /usr/local/tomcat/website/temp Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/website/bin/bootstrap.jar:/usr/local/tomcat/website/bin/tomcat-juli.jar Using CATALINA_OPTS: Tomcat started.
Java体系
原文链接:https://blog.csdn.net/qq_39091292/article/details/84859611
JAVA被分为3种结构独立但又彼此依赖的技术体系分支:Java SE(标准版)、Java EE(企业版)、Java ME(精简版)。以上三种体系分支分别对应着不同的规范集合和组件:Java SE活跃在桌面领域,主要包含Java API组件;Java EE活跃在企业级领域,除了包含Java API组件,还扩充有Web组件、事务组件、分布式组件、EJB组件、消息组件;Java ME则活跃在嵌入式领域,仅保留部分Java API组件以及适应设备的特有组件,这也是它“精简版”称呼的由来。
JAVA体系优点:
拥有一门结构严谨、面向对象的编程语言
跨平台(摆脱硬件平台的约束) ----“Write once,Run anywhere”主8要由字节码支持。因为Java源代码默认编译结果为平台通用的字节码。
安全性优越 ---提供了一种相对安全的内存管理和访问机制,避免了绝大部分的内存泄露和指针越界问题
多线程
分布式
完善的应用程序接口
大量的第三方类库
Java技术体系所包含的内容:
JDK与JRE的关系:
JDK:支持Java程序开发的最小环境。JDK = Java程序设计语言+Java虚拟机+Java API类库。
JRE:支持Java程序运行的标准环境。JRE=Java虚拟机 +Java API类库中的Java SE API子集 。
中间件
简介
中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器和消息队列软件。
优势
1、满足大量应用的需要 ; 2、运行于多种硬件和OS平台 ;3、支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能 ; 4、支持标准的协议 ; 5、支持标准的接口。