千家信息网

Web服务器之Tomcat的相关说明

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,1、C/S架构和B/S架构的概念:a、C/S架构:- C/S,Client/Server,客户端/服务器,客户端需要安装专用的客户端软件。客户端是针对某以具体业务专门开发的软件。- 由于客户端是专用的
千家信息网最后更新 2024年09月21日Web服务器之Tomcat的相关说明

1、C/S架构和B/S架构的概念:

a、C/S架构:

- C/S,Client/Server,客户端/服务器,客户端需要安装专用的客户端软件。客户端是针对某以具体业务专门开发的软件。

- 由于客户端是专用的软件,所以客户端程序一般也具有对具体业务进行处理的能力。从而减轻对服务端的处理压力,使得服务端的运算速度更快,对客户端的响应更快。

- 也正是由于客户端是需要专门安装的专用软件,所以导致C/S架构的系统也出现了致命的问题:版本升级成本异常地高。无论是由于客户端软件本身功能的升级,或者是由于服务端的升级导致客户端也必须进行升级,无论什么原因导致客户端需要升级,每一个客户端机器上都必须先获取到新版本软件,再将老版本进行卸载替换。C/S架构系统的每一次客户端升级,都需要企业为之付出人力、物力和财力上的成本代价。


b、B/S架构:

- B/S,Browser/Server,浏览器/服务器。B/S架构,其实也是一种特殊的C/S架构,只不过,这个Client特指的是浏览器。

- 对于B/S架构的系统,需要客户端安装有浏览器,那么客户端就可以访问服务器。而整个系统的升级,只需要升级服务器端程序即可。所以,B/S架构的系统最大的优点就是不存在客户端升级问题。

- 由于客户端不是专门针对某一具体业务而设计,是一个通用的客户端,所以客户端几乎没有任何对具体业务进行处理运算的能力。而对于具体业务的处理压力,全部加在了服务端,从而导致服务器程序运算速度降低,对客户端的响应速度降低,影响了客户体验。

- 另外,B/S架构系统还存在一个问题:浏览器兼容问题。虽然客户端只需要一个浏览器即可访问服务端,但由于现在浏览器品牌、版本很多,而其实现技术千差万别,所以导致服务端需要想办法兼容各种浏览器版本。这无形中又增加了服务器端的压力。


2、Web访问中的角色与协议:

- Web访问中的角色与协议示意图:(角色有4个,浏览器,Web服务器,服务器端程序和DB;协议有3个,HTTP协议,Servlet协议,JDBC协议。)


- 所谓协议,即是规范、规则,是通信双方事先的约定。

- HTTP协议要求,通行双方,即浏览器与服务器双方,都需要按照指定的格式发出请求与响应。对方按照协议,即事先的约定,对对方发送来的信息进行解析。

- Servlet协议要求,若程序员要开发完成某一个具体业务的服务端程序,则必须实现Servlet接口,使用ServletAPI进行数据传递。

- JDBC协议要求,服务器端程序若要连接并操作数据库,则需要按照JDBC协议中的规定的方式(接口方法)获取DB连接,进行SQL的执行、进行结果的获取。而JDBC协议(接口)的实现,均由数据库厂商来完成。放于数据库厂商提供的数据库驱动jar包即可。所以,我们连接不同的数据库,就需要导入不同的数据库驱动jar包。

- 此外,还有JavaEE协议:Servlet协议是JavaEE协议里的一部分。JavaEE协议即进行JavaWeb开发的一套API,除了包含Servlet协议外,JSTL协议、JPA协议等。目前使用较多的版本是JavaEE5.0。JavaEE5.0包含的是Servlet2.5协议。JavaEE6.0包含的是Servlet3.0协议。而Servlet2.5与Servlet3.0版本的一个很大的区别在于:Servlet3.0支持对Servlet、Filter、Listener类的注解式开发。


3、Web服务器之Tomcat的相关说明:

a、Tomcat的简单认识:

- 实际应用中实现了JavaEE规范的Web服务器有很多,如Oracle的WebLogic(需购买)、IBM的WebSphere(需购买)、RedHat公司的JBoss(不支持Servlet规范,开源免费)等,这些都称为重量级服务器。

- Apache的Tomcat(Apache软件基金会的一个开源项目,可以在其官网http://www.apache.org/中下载),只是JavaEE规范中Servlet/JSP规范的实现者(也包括EL和WebSocket协议 ),所以其实是一个轻量级的服务器,它是开源免费的。Tomcat也称之为Web容器,或者是Servlet容器,但是不能够称之为JavaEE容器。

- 官网中的Tomcat9.0安装包和源码包下载图片截取:


- 引申出的一个概念:JCP(官网为http://jcp.org),Java Community Process,Java审核社区,是一个开放的国际组织,主要负责规范、监督Java的发展,其他个人、企业、机构等制定的Java规范,必须通过JCP审核后,才能够被认定为Java规范,JCP的创始者为SUN公司。

b、Tomcat的安装与目录结构:

- Tomcat的安装,即将其解压缩包即可,无需向导式的安装过程。解压缩后可以对Tomcat的根目录更名。

c、Tomcat的运行环境配置:

- Tomcat安装完毕后,需要安装JDK或者JRE。对于Tomcat5以及以前版本,要求必须安装JDK,而对于Tomcat6及其之后版本可以只安装JRE而不需要安装JDK。

- 在安装JDK时配置系统环境变量JAVA_HOME,将其bin目录添加到path变量即可。(Tomcat不需要其他配置)


- 如果没有配置系统环境变量,则在命令行中会显示如下错误:


d、Tomcat的启动和访问:

- 在设置完前面的环境变量之后,Tomcat即可进行启动。

- 进入命令行窗口的Tomcat目录的bin目录下,执行startup.bat命令,即可看到Tomcat的启动过程。当然,也可以在Window窗口中,找到Tomcat目录的bin目录,直接双击startup.bat文件启动Tomcat。(shutdown.bat文件为关闭Tomcat)

- 可以通过在浏览器地址栏上键入localhost:8080来访问Tomcat。


4、JavaEE规范要求JavaWeb项目的程序结构是:

- 在当前应用所在目录中可以直接存放资源文件,如.html、.jpg等,也可以将其放入到子目录中访问。

- 若Web项目中包含Serlvet代码,则Servlet的字节码文件必须存放在当前应用所在子目录/WEB-INF/classes中。

- 在/WEB-INF/下可以包含web.xml配置文件,定义请求URI与所要访问的Serlvet间的映射关系、指定欢迎页面等。

- 在/WEB-INF下可以包含子目录lib,用于存放当前Web应用所使用的外部jar包。

- 在/WEB-INF/目录中的资源不能被浏览器直接访问。

- 如下所示:

--- 项目根目录

---html、jsp、js、css、jpg等资源文件

---子目录

---相关资源文件

---WEB-INF

---classes

---lib

---web.xml

---html、jsp等资源文件


5、解读server.xml文件:


6、Tomcat中的context.xml说明、Context标签讲解:

a、在tomcat5.5之前:Context体现在/conf/server.xml中的Host里的元素中,它由Context接口定义。每个元素代表了运行在虚拟主机上的单个Web应用。

- server.xml文件,如

- path表示要创建的虚拟目录,它指定访问Web应用的上下文根,如http://localhost:8080/kaka/...;docBase:为应用程序的路径或者WAR文件存放的路径,可以是绝对路径,也可以是相对路径(相对路径是相对于)。

- reloadable:如果这个属性设置为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录class文件的改变,如果监视到有class文件被更新,服务器自动重新加载Web引用,这样我们可以在不重启tomcat的情况下改变应用程序。

- 一个Host元素中嵌套任意多个的Context元素。每个Context的路径必须是唯一的,由path属性定义。另外,你必须定义一个path=""的Context,这个Context称之为该虚拟主机的缺省web应用,用来处理那些不能够匹配任何Context的Context路径的请求。


b、在tomcat5.5之后:

- 不推荐在server.xml中进行配置,而是在/conf/context.xml中进行独立的配置。因为server.xml是不可动态重加载的资源,服务器一旦启动以后,要修改这个文件,就得重新启动服务器才能够重新加载。而context.xml文件则不然,tomcat服务器会定时去扫描这个文件。一旦发现文件被修改(时间戳改变),就会自动重新加载这个文件,而不需要重启服务器。

- 如下所示:

         WEB-INF/web.xml     WEB-INF/kaka.xml 监控资源文件,如果web.xml || kaka.xml改变了,则自动重新加载该应用。      表示数据库URL地址     


c、附录:context.xml的三个作用范围:

- tomcat server级别:在/conf/context.xml里配置。

- Host级别:在/conf/Catalina/${webAppName}.xml,继而进行配置。

- web app级别:在/conf/Catalina/$(hostName}里添加${webAppName}.xml,继而进行配置。




服务 客户 服务器 客户端 文件 架构 浏览器 浏览 目录 程序 应用 配置 升级 数据 版本 系统 数据库 资源 路径 软件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 泉州物流软件开发公司哪家好 初级网络安全工程师薪资 网络安全有哪些诈骗方法 海安质量网络技术诚信经营 热血传奇下载软件开发 四川云趣读网络技术有限公司 数据库问题咨询 网络设备接入网络安全监测装置 中国互联网科技奇迹 法律信息数据库询价函 网络安全法2016年11月 信息网络技术应用考点 深圳市快一步软件开发 茂名网络安全调查 青岛求实学院计算机网络技术 登录服务器失败请检查防火墙设置 大学生网络安全法律知识竞赛 文件管理系统服务器 魔兽世界九城有哪个服务器 多ip香港服务器租赁 搭建游戏服务器unity 数据库修改为系统时间格式 服务器检测不到raid信息 网络安全事件十年回顾 北京发那科软件开发 东莞奶茶店会员系统软件开发 不是维护网络安全措施的是 华数网络电视连接服务器错误 hca数据库怎么用 多ip香港服务器租赁
0