当前位置:首页 > CN2资讯 > 正文内容

java的服务器 java服务器架构

1天前CN2资讯



文章目录

  • 接口的作用
  • B/S架构详解以及与C/S架构的对比
  • 定义
  • 优点
  • 缺点
  • 维护和升级
  • 成本与选择
  • 负荷重
  • C/S特点
  • 发展前景
  • 浏览器、WEB服务器、DB服务器
  • Apache Tomcat Web Server简介
  • Tomat 6.x服务器相关目录介绍


接口的作用

  • 项目有了接口之后就有了分层,多个层之间可以同时开发,这样项目的开发效率可以提高。(调用者不用关心实现者,实现者不需要关心调用者)
  • 接口使程序分为调用方和实现方,调用方和实现方是解耦合的,面向接口编程使项目变得具有可接插性,具有可插拔特性,具有很强的扩展能力。

B/S架构详解以及与C/S架构的对比

定义

B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

优点

B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA****证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。

缺点

B/S架构在图形的表现能力上以及运行的速度上弱于CS架构。还有一个致命弱点,就是受程序运行环境限制。由于B/S架构依赖浏览器,而浏览器的版本繁多,很多浏览器核心架构差别也很大,导致对于网页的兼容性有很大影响,尤其是在CSS布局,JAVASCRIPT脚本执行等方面,会有很大影响。

维护和升级

软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

成本与选择

大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置。但在服务器操作系统上,windows并不是处于绝对的统治地位。软件的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

负荷重

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

C/S特点

C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。对客户端的操作系统一般也会有限制。可能适应于Win98,但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。Client/Server是建立在局域网的基础上的。Browser/Server是建立在广域网的基础上的.。

发展前景

C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在linux下跑的。而B/S模式就不同了,它不需要专门的客户端,只要浏览器,而浏览器是随操作系统就有的,方便就是他的优势了。而且,B/S是基于网页语言的、与操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步,B/S在表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。比如,未来的HTML5,在图形的渲染方面以及音频、文件的处理上已经非常强大了。不过,C/S架构也有着不可替代的作用。

浏览器、WEB服务器、DB服务器

一、 以上图形很形象的描述了B/S架构程序的访问流程。
二、 分析小张和小王的访问有什么区别?
小张:它在浏览器地址栏上输入的请求路径是http://202.108.251.34:8080/egov/login.html,访问原理是:浏览器在广域网中搜索ip地址是202.108.251.34这个计算机,找到这台计算机之后,再去这台计算机上搜索8080相关的服务,就找到了Tomcat服务器(Web Server、Web Container、Web容器),Tomcat服务器正在处于接收用户请求的状态,接收到请求之后解析请求路径,知道小张访问的资源是egov应用(web app)中的login.html资源(纯静态页面),Tomcat服务器负责在Web容器搜索到该资源,并且Tomcat服务器负责将该资源以响应的方式发送给浏览器客户端(小张)。在整个过程中不需要执行egov应用(web app)中的任何java程序,web app的开发者(java程序员)也不需要编写任何java程序,只要编写一个login.html页面放在egov应用中即可。
小王:它在浏览器地址栏上输入的请求路径是http://202.108.251.34:8080/oa/delete?empno=7369,访问原理是:浏览器在广域网中搜索ip地址是202.108.251.34这个计算机(硬件服务器),找到这台计算机之后,再去这台计算机上搜索8080相关的服务,就找到了Tomcat服务器(Web Server、Web Container、Web容器),Tomcat服务器正在处于接收用户请求的状态,接收到请求之后解析请求路径,知道小张访问的资源是oa应用(web app)中的delete资源,这个delete资源不是一个静态的HTML页面,而需要执行一段小java程序去处理用户这次的请求,注意:用户的请求路径/delete和小java程序一定是互相绑定的。这段小java程序再去连接数据库(JDBC),数据库负责删除该empno=7369的数据,并且将删除结果返回给小java程序,小java程序在负责将删除结果响应给浏览器客户端(小王)。

小张和小王的区别:
小张访问的资源是WEB服务器中的一个静态资源,以.html结尾。不需要web app中执行一段java程序。
小王访问的资源是WEB服务器中的一个动态资源,不是以.html结尾的,这个时候就需要Tomcat服务器为我们执行一段对应的小java程序。所以web app中必须有一段小java程序。
以上所描述的小java程序指的就是Servlet,Servlet(Server let) 表示WEB服务器端小java程序。
三、 请分析B/S架构中涉及到的产品、角色、协议以及协议的制定者?

a) B/S架构中涉及到的所有产品、角色:
i. 浏览器(IE,FireFox, Chrome, Opera等)
ii. WEB服务器、WEB Server、WEB Container。(Tomcat、JBOSS、GlassFish等)
iii. DB 服务器(Oracle、Mysql、SqlServer等)
iv. Web App的开发者(Servlet程序员、我们)
b) B/S架构中涉及到的所有的协议、标准、规范:
i. 浏览器和WEB服务器之间遵循HTTP协议,这个协议的制定者是W3C,这个协议是通信协议。HTTP协议包括请求协议和响应协议两个,这两个协议只是方向不同,从浏览器向服务器发送数据叫做请求协议,从服务器向浏览器发送数据我们叫做响应协议,这里的HTTP协议我们用的是HTTP1.1版本(以后详细介绍HTTP协议。)
ii. WEB服务器和web app的开发者(我们)之间有一些规范,例如:Servlet、JSP规范,这些规范的制定者是 SUN。
iii. Web app开发者(我们)和数据库服务器之间有一个规范,叫做JDBC规范,这个规范的制定者是SUN。

注意:我们程序依赖于规范的制定,J2EE规范很多,包括:JDBC、Servlet、JSP、EJB等。

Apache Tomcat Web Server简介

Apache软件基金会

  • 简介
    Apache软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为支持开源软件项目而办的一个非盈利性组织。在它所支持的Apache项目与子项目中,所发行的软件产品都遵循Apache许可证(Apache License)。
  • Apache的开源项目Tomcat Server
    Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0
    Apache Tomcat 6.x 在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持
    Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O’Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat。而O’Reilly出版的介绍Tomcat的书籍的封面也被设计成了一个猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只猫。
  • Tomat 6.x服务器相关目录介绍

  • CATALINA_HOME指的是Tomcat服务器安装的根目录,例如:C:\apache-tomcat-6.0.32
  • CATALINA_HOME/bin :存放了一些Tomat服务器相关的命令,例如启动Tomcat服务器需要使用startup.bat,关闭Tomcat服务器需要shutdown.bat。.bat后缀的文件我们称作批处理文件,批处理文件中有大量的命令。执行批处理文件就是批量执行一些相关的命令。在该目录下以.sh结尾的文件是在unix、Linux操作系统中使用的。例如在Unix操作系统中执行startup.sh,关闭服务器的时候使用shutdown.sh。这些文件叫做shell文件,在这些shell文件中有批量的shell命令。
  • CATALINA_HOME/conf :存放了一些Tomcat服务器相关的配置文件。有.properties结尾的属性配置文件,有.xml结尾的配置文件,例如:catalina.properties文件、server.xml文件(该文件是一个Tomcat服务器级别的配置文件,配置了相关的服务器端口号等信息)、web.xml(该文件是一个“web应用”相关的模板配置文件)文件、tomcat-users.xml(配置Tomcat服务器用户相关的用户名和密码等信息)文件。
  • CATALINA_HOME/lib :存放了tomcat服务器的核心程序,所有文件都是以.jar结尾的,这种文件我们称作jar包,在jar包中存放了大量的.class文件。Tomcat服务器的运行主要依赖了这些class文件。其中servlet-api.jar、jsp-api.jar都是SUN制定的servlet、jsp相关的规范,这里的规范就是接口、标准。而其它的jar包中的class都实现了这些接口或者面向了这些接口进行了调用。
  • CATALINA_HOME/logs :该目录下存储了Tomcat服务器相关的日志信息,由于在DOS窗口中显示文本有限,程序发生异常之后我们无法详细查看所有的信息,这个时候我们可以打开相关的日志文件进行查看。
  • CATALINA_HOME/temp :临时活页夹,Tomcat服务器运行时用来存储临时文件的。
  • CATALINA_HOME/webapps :这是一个非常重要的目录,Tomcat服务器规定,所有程序员开发的WEB应用、WEB站点必须存放在该目录下,不然Tomcat服务器无法找到并提供web服务。在webapps目录下存放的一个文件夹代表一个web app(web application)
    E/webapps :这是一个非常重要的目录,Tomcat服务器规定,所有程序员开发的WEB应用、WEB站点必须存放在该目录下,不然Tomcat服务器无法找到并提供web服务。在webapps目录下存放的一个文件夹代表一个web app(web application)
  • CATALINA_HOME/work :该目录下存放了Tomcat服务器运行JSP的时候生成的 .java文件以及对应的.class文件。(该目录可以暂时放过,等JSP之后再看)
  • 学习自powernode servlet


      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/21002.html

      分享给朋友:

      “java的服务器 java服务器架构” 的相关文章

      电信CN2宽带账号登录密码忘记怎么办?轻松解决办法!

      在如今这个网络时代,宽带已经成为我们生活中不可或缺的一部分。无论是工作、学习,还是娱乐,宽带网络都为我们的生活带来了极大的便利。生活中难免会遇到一些小问题,比如忘记电信CN2宽带账号的登录密码。当你面对这样的问题时,可能会感到焦虑和无助,担心宽带无法正常使用,影响生活和工作。别担心,本文将为你提供一...

      VPS在线测速:如何选择合适的虚拟专用服务器

      在现今的网络环境中,选择合适的VPS(虚拟专用服务器)是每位用户尤其是中小企业和开发者需要重点关注的事项之一。VPS在线测速的重要性体现在很多方面,尤其是在评估服务性能时,测速显得尤为关键。通过测速脚本,用户可以全面了解VPS的网络状况和系统性能,从而在购买时做出更明智的决策。 想象一下,你已经在选...

      什么是VPS?探索虚拟专用服务器的独立性与灵活性

      在现代互联网环境中,VPS(虚拟专用服务器)是许多人所关注的一个话题。它通过虚拟化技术,将一台物理服务器切割成多个独立的虚拟服务器。每个VPS都能独立运行自己的操作系统,拥有专属的内存、磁盘空间和带宽。这种设计让VPS在很多方面都表现得尤为出色,适合各种需求。 简单来说,VPS就像在一台大房子里有多...

      cping工具:高效的网络检测助手

      在网络管理的世界里,cping工具无疑是一个非常实用的助手。作为一款高效且用户友好的网络检测工具,它专注于对C类IP地址进行ICMP测试。这不仅使得网络管理员能够快速了解网络环境的状态,还能有效帮助他们解决潜在的问题。 我总是喜欢用cping工具来进行网络监测。它的界面整洁,让我一目了然。重要的是,...

      CloudCone 优惠活动详解:2023年最具性价比的云服务选择

      CloudCone 优惠概述 对于许多寻求高性价比云服务的用户来说,CloudCone 是一个值得关注的选项。公司成立于2017年,总部位于美国洛杉矶的MultaCom机房,专注于提供 VPS 主机、云服务器和独立服务器等服务。其主打产品是基于 KVM 架构的 VPS 主机,配备自研的管理面板,能为...

      bwh1:搬瓦工的高效VPS管理与使用技巧

      bwh1 概述 提到 bwh1,很多人第一时间就想到搬瓦工(BandwagonHost)。bwh1 正是搬瓦工的官网域名之一,深受用户喜爱。它不仅是一个简单的链接,更是通向高效 VPS 管理的窗口。通过这个网站,用户能够方便地访问各种服务,比如 VPS 购买、管理和支持。对于追求网络稳定性和速度的用...