web 服务器

web 服务器

概述

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。

工作原理

Web服务器的工作原理并不复杂,一般可分成如下4个步骤:连接过程、请求过程、应答过程以及关闭连接。下面对这4个步骤作一简单的介绍。连接过程就是Web服务器和其浏览器之间所建立起来的一种连接。查看连接过程是否实现,用户可以找到和打开socket这个虚拟文件,这个文件的建立意味着连接过程这一步骤已经成功建立。请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。关闭连接就是当上一个步骤–应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。Web服务器上述4个步骤环环相扣、紧密相联,逻辑性比较强,可以支持多个进程、多个线程以及多个进程与多个线程相混合的技术。

发展趋势

从HTML到XML

标准通用标记语言的子集可扩展标记语言(eXtensible Markup Language)

标准通用标记语言的子集HTML被称为“第一代Web语言”,如前面的介绍,HTML作为Web的开发语言,对Web应用的发展起到了关键性的作用。但是HTML有一个致命的缺点:只适合于人与计算机的交流,不适合计算机与计算机的交流。HTML通过大量的标记来定义文档内容的表现方式,它仅仅描述了应如何在Web浏览器页面上布置文字、图形,并没有对Internet的信息含义本身进行描述,而信息又是Web应用中最重要的内容。通过HTML表现出来的文字、图形内容很容易被人理解,但却不利于计算机程序去理解。另外,HTML的另一个问题就是它的标记集合是固定的,用户不能根据自己的需要增加标记;而且各种浏览器的规格不尽相同,要使我们用HTML做的网页能够被所有浏览器正常显示,我们只能够使用W3C(万维网协会)规定的标记来创建网页。

正如前面所说,Web服务器向Web浏览器提供的信息都是来自有一定结构的数据库,在数据库里,为了检索和管理的方便,信息按照它本身的意义(如姓名、年龄、工作单位等)被存放在相应的字段里,一旦这些数据被调出来,经过CGI、ASP、JSP、PHP等转换成HTML后,其原来的意义无法转移到HTML标记中来,用户也就无法按照信息本来的意义去阅读。并且,由于操作系统以及数据库的不同,不同的系统及应用层面之间要想互相理解对方的数据格式是相当困难的。这就需要一种新技术或标准能够将最初保存在数据库服务器中的原始数据结构在不同的系统层面共享。这种新技术就是XML。

使用XML可以解决上述的难题。W3C对XML作了如下描述:“XML描述了一类被称为XML文档的数据对象,并部分描述了处理它们的计算机程序的行为。XML是标准通用标记语言的一个应用实例。从结构上说,XML文档遵从标准通用标记语言文档标准。”同HTML一样,XML也是一种基于文本的标记语言,都是从标准通用标记语言发展而来,二者的不同在于:XML可以让我们根据要表现的文档,自由地定义标记来表现具有实际意义的文档内容,例如,我们可以定义〈文档名称〉〈/文档名称〉这样具有实际意义的标记。而且XML不像HTML那样具有固定的标记集合,它实际上是一种定义语言的语言,也就是说使用XML的用户可以定义无穷的标记来描述文档中的任何数据元素,将文档的内容组织成丰富的完整的信息体系。总起来说,XML具有四大特点:便于存储的数据格式、可扩展性、高度结构化以及方便的网络传输,这些特点为我们创建开放、高效、可扩展、个性化的Web应用提供了一个崭新的起点。

从有线到无线

电子商务正在从台式机向着更为广泛的无线设备发展,Cahners In-Stat市场分析家预测,世界范围内的无线用户的人数将会从2000年的2.71亿增加到2004年的13亿。Aberdeen集团的研究主任Darcy Fowkes认为,采用无线方式进行电子商务的优势并不仅仅在于方便,它还可以节约公司的财力,而且,移动办公能使工作更加高效。

然而,由于多种无线网络类型、标记语言、协议和无线设备并存的复杂情况,使得网络内容和数据转换成能够被无线设备所识别的格式并不容易。许多企业都在致力于开发能够把应用程序以及互联网内容扩展到无线设备上的产品。

例如,IBM新版本的WebSphere Transcoding Publisher 3.5增加和改进了许多新的特性,可以将企业内部网上的数据翻译到多种无线设备上。该版本中新的特性包括对更多的无线设备、数据格式的支持,以及语言翻译功能。它基于Java架构,能把用HTML和XML等标记语言编写的应用程序和数据转换成WML、HDML(Handheld Device Markup Language)和iMode等无线设备所能识别的格式,这样,通过手持设备就可以访问互联网上的信息。

无线设备厂商Mobilize也推出了Mobilize Commerce产品,帮助企业进入无线网络。该软件可以通过无线连接的方式访问企业的内部系统,远程地实现订单发送,并进行确认。Mobilize Commerce可以充分利用XML对信息进行格式转换,以适合于无线设备,这些无线设备包括笔记本电脑、个人数字助理、无线电话、网络电话和双向寻呼等。

从无声到有声

世界上有十亿个电话终端,有超过2亿的移动电话。而就人自身的交流习惯来看,人们也更愿意利用听和说的口头的方式进行交流。

文本语音转换器(TTS,Text to Speech)的研究工作已经取得了很大的进步,实现了自动的语言分析理解,并允许TTS的使用者增加更多的韵律、音调在讲话中,使TTS系统的发声更接近人声。在自动语音识别系统(ASR)领域里,自动语音识别系统在从整个词的模仿匹配,向音素层次的识别系统方向发展。自动语音识别系统的词汇表由一个基于声音片断的字母表构成,而且这种词汇表是受不同语言限制的。基于这种方式,在一个宽广的声音行列里,讲话能被识别系统发现和挑拣出来,并加以识别。并且,在识别一个词的时候,每一个音素将从系统的输入中挑拣出来,拼接组合后与已经有的音素和词语模板进行比较,来产生需要的模板。音素的识别大大减轻了ASR对讲话者的依赖性,并且使得它非常容易去建立大型的和容易修改的语音识别字典,从而满足不同应用市场的需求。

Web语音发展的另一方面是VoiceXML(Voice Extensible Markup Language-语音可扩展标记语言)的进展。VoiceXML的主要目标是要将Web上已有的大量应用、丰富的内容,让交互式语音界面也能够全部享受。Web服务器处理一个来自客户端应用的请求,这一请求经过了VoiceXML解释程序和VoiceXML解释程序语境处理,作为响应,服务器产生出VoiceXML文件,在回复当中,要经过VoiceXML解释程序的处理。VoiceXML 1.0规范基于XML,为语音和电话应用的开发者、服务提供商和设备制造商提供了一个智能化的API。VoiceXML的标准化将简化Web上具有语音响应服务的个性化界面的创建,使人们能够通过语音和电话访问网站上的信息和服务,像今天通过CGI脚本一样检索中心数据库,访问企业内部网,制造新的语音访问设备。VoiceXML的执行平台上面加载了相应的软件和硬件,例如,ASR、TTS,从而实现语音的识别以及文本和语音之间的转化。2000年5月23日,W3C接受了语音可扩展标记语言VoiceXML 1.0作为实例。

IBM、Nokia、Lucent、Motorola等著名厂商都已经开发出相应支持VoiceXML的产品,ASR和TTS系统大多还不能支持中文。

常用服务器

IIS

Microsoft的Web服务器产品为Internet Information Services (IIS),IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。

IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。

Kangle

kangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp·net、java、ruby等多种动态开发语言。

WebSphere

WebSphere Application Server 是一种功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于 Java 的应用环境,用于建立、部署和管理 Internet 和 Intranet Web 应用程序。这一整套产品进行了扩展,以适应 Web应用程序服务器的需要,范围从简单到高级直到企业级。

WebSphere 针对以 Web 为中心的开发人员,他们都是在基本 HTTP服务器和CGI编程技术上成长起来的。IBM 将提供 WebSphere 产品系列,通过提供综合资源、可重复使用的组件、功能强大并易于使用的工具、以及支持 HTTP 和 IIOP 通信的可伸缩运行时环境,来帮助这些用户从简单的 Web应用程序转移到电子商务世界。

WebLogic

BEA WebLogic Server是一种多功能、基于标准的web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨 Internet 协作,起始点都是 BEA WebLogic Server。由于 它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于 Internet 的企业都选择它来开发、部署最佳的应用。

BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。BEA WebLogic Server 为构建集成化的企业级应用提供了稳固的基础,它们以 Internet 的容量和速度,在连网的企业之间共享信息、提交服务,实现协作自动化。

Apache

Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。它源于NCSAhttpd服务器,当NCSAWWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是apache名称的由来(pache 补丁)。世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。

Tomcat

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此许多WEB服务器都是采用Tomcat。

Jboss

是一个基于J2EE的开放源代码应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

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.41**。**

版本差异

Apache Tomcat 7.x

是目前的开发焦点。它在汲取了Tomcat 6.0.x优点的基础上,实现了对于Servlet 3.0、JSP 2.2和EL 2.2等特性的支持。除此以外的改进列表如下:

· Web应用内存溢出侦测和预防

· 增强了管理程序和服务器管理程序的安全性

.一般 CSRF保护

· 支持web应用中的外部内容的直接引用

· 重构 (connectors, lifecycle)及很多核心代码的全面梳理

Apache Tomcat 6.x

在汲取 Tomcat 5.5.x优点的基础上,实现了Servlet 2.5和JSP 2.1等特性的支持。除此以外的改进列表如下:

· 内存使用优化

· 更大的IO容量

· 重构聚类

版本完美对应jdk版本支持servlet版本
6.0.xjdk5 (1.5)2.5
7.0.xjdk6 (1.6)2.5、3.0
8.0.xjdk7 (1.7)2.5、3.0、3.1
9.0.xjdk8 (1.8)2.5、3.0、3.1、4.0

2.5版本是开发web项目使用servlet最初始的版本,性能和组件是最全的。3.0以上的版本(注解式开发)是简化了之前版本的开发,大量的省略掉了配置文件的相关配置的应用。

下载与使用

  1. 下载地址: https://tomcat.apache.org/download-70.cgi

  2. 安装: 下载成功后会为压缩包文件,解压即可

    注:尽量不要解压在中文目录中

  3. 主要目录

    bin – Tomcat: 脚本存放目录(如启动、关闭脚本)。 *.sh 文件用于 Unix 系统; *.bat 文件用于 Windows 系统。

    conf – Tomcat: 配置文件目录。

    lib–Tomcat:tomcat服务器所需要的各个库文件

    logs – Tomcat: 默认日志目录。

    webapps – Tomcat:web应用程序存放的目录,web项目保存到此目录即可发布。

    work-- Tomcat:临时文件夹,生成所有的临时文件(.java、.class)

  4. 校验安装

    打开 bin 目录,然后双击执行 startup.bat 文件,打开浏览器在地址栏中输入 localhost:8080/ 如果出现 tomcat 广告页安装成功

  5. 常见问题

    1、tomcat 的运行依赖 JDK,必须配置 JDK 环境。配置方式参照: https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html

    2、闪退,启动闪退问题一般是因为 JDK 的环境变量配置有问题, 参照 1 进行重新进行配置,如果还是闪退,使用:在 bin\startup.bat 文件中的第一行前面加入: SET JAVA_HOME=JDK 目录SET CATALINA_HOME=解压后 Tomcat 的目录

    这样,运行 startup.bat 就可以正常启动 tomcat 服务器,如果想点击 shutdown.bat 关闭服务器,同样在 shutdown.bat 文件中加入上面的两行即可

创建javaweb

输入项目名

完整的项目结构如下

Tomcat配置

在"Name"处输入新的服务名,点击“Application server”后面的“Configure…”,弹出Tomcat Server窗口,选择本地安装的Tomcat目录 -> OK

JavaWeb测试

Run -> Edit Configurations,进入“Run Configurations”窗口,选择之前配置好的Tomcat,点击“Deployment”选项卡,点击“+” -> “Artifact”-> 选择创建的web项目的Artifact…
修改“Application context”-> Apply -> Ok

说明:此处的Application context是指定本工程的根目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Table of Contents IBM WebSphere Application Server - The Complete Reference Part I - Getting Started Chapter 1 - What Is WebSphere? Chapter 2 - Installing and Starting WebSphere Chapter 3 - Hello World (Wide Web) Chapter 4 - Hello Servlets and JSPs Chapter 5 - Hello EJBs Part II - WebSphere Technologies Chapter 6 - Web Servers and Java Application Servers Chapter 7 - Servlets and JavaServer Pages Chapter 8 - Common Object Request Broker Architecture Chapter 9 - Internet Inter-ORB Protocol Chapter 10 - JavaBeans Chapter 11 - Enterprise JavaBeans Chapter 12 - Extensible Markup Language (XML) Chapter 13 - Java Security Chapter 14 - Java Messaging Service Chapter 15 - Java 2 Enterprise Edition Part III - Development Environments for WebSphere Applications Chapter 16 - WebSphere Studio Application Developer Chapter 17 - VisualAge for Java Part IV - Core Services Chapter 18 - Connection Pooling and Data Access Beans Chapter 19 - WebSphere Security Services Chapter 20 - Lightweight Directory Access Protocol Support Chapter 21 - WebSphere Application Logging Part V - Developing Servlets and JavaServer Pages Chapter 22 - HTTP Servlets Chapter 23 - Servlet Sessions Chapter 24 - WebSphere-Specific Servlet Issues Chapter 25 - JSP Elements Chapter 26 - JSP Examples Chapter 27 - Custom Tag Libraries Chapter 28 - Debugging Servlets and JSPs Using VisualAge Part VI - Developing EJB Chapter 29 - Session Beans Chapter 30 - Entity Beans Part VII - Using XML Chapter 35 - Writing XML E-Business Applications Chapter 36 - Application of XSL Transformations Chapter 37 - Web Services: SOAP, WSDL, and UDDI Chapter 38 - Deploying Web Services on WebSphere Part VIII - Internationalization and Localization Chapter 39 - Java Support Features for Internationalization Chapter 40 - Building Multilingual Applications Part IX - Administering WebSphere Sites Chapter 41 - Deploying WebSphere for Scalability and Fault Tolerance Chapter 42 - The WebSphere Administrative Console Chapter 43 - WebSphere Administration Scripts Chapter 44 - Administering WebSphere Security

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值