Web服务器总结
文章目录
Web服务器
1、JavaWeb的概述
1.1 什么是JavaWeb?
使用java语言去编写所有浏览器可以访问到的程序的总称。叫javaWeb
。
1.2 JavaWeb编程是基于请求和响应
(1)、什么是请求
- 客户端给服务器发送数据。叫
请求
。
(2)、什么是响应
- 服务器给客户端回传数据,叫
响应
。
(3)、请求和响应的关系
- 请求和响应是成对出现的!
2、Web服务器概述
2.1 服务器简介
指的是网络环境下为客户机(Client)提供某种服务的专用计算机,服务器安装有网络操作系统(如Windows 2000 Server、Linux、Unix等)和各种服务器应用系统软件(如Web服务器、电子邮件服务)的计算机
注:服务器的主要功能是提供网上信息浏览服务
2.2 Web资源的分类
所谓web资源即放在Internet网上供外界访问的文件或程序,又根据它们呈现的效果及原理不同,将它们划分为静态资源和动态资源
(1)静态资源
如:html,css,JavaScript
。
静态资源:所有用户访问后得到的结果都是一样的。
静态资源可以直接被浏览器解析。
静态资源被请求后,可以直接返回给浏览器。浏览器通过内置的静态资源解析引擎解析这些静态资源,展示出界面。
(2)动态资源
如:servlet/jsp,php/asp
等。
动态资源:每个用户访问相同资源后,得到的结果可能不一样。
动态资源需要先转换为静态资源后,再返回给浏览器。
动态资源被请求后,先转换为静态资源,再返回给浏览器,然后通过浏览器内置的静态资源解析引擎解析后,展示出界面。
2.3 常用的Web服务器
Tomcat: 由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的javaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费)。注:javaWeb容器 或 web容器,就理解为Tomcat服务器
Jboss: 是一个遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,它支持所有的JavaEE规范(免费)。
GlassFish: 由Oracle公司开发的一款JavaWeb服务器,是一款强健的商业服务器,达到产品级质量(应用很少)。
Resin: 是CAUCHO公司的产品,是一个非常流行的服务器,对servlet和JSP提供了良好的支持,性能也比较优良,resin自身采用JAVA语言开发(收费,应用比较多)。
WebLogic: 是Oracle公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求,适合大型项目(收费,用的不多,适合大公司)。
3、软件架构
3.1 C/S架构:客户端/服务端
C/S架构的软件
Client/Server客户端和服务器端的软件。都是需要在PC端安装的软件
比如:QQ迅雷等
- 优点:效果炫,一部分代码写到客户端(速度快)
- 缺点:服务器端更新,客户端都需要更新
3.2 B/S架构:浏览器端/服务端(JavaEE属于B/S)
B/S架构的软件
Browser/Server浏览器和服务器端的软件。不需要安装到PC端。只需要有一个浏览器即可。
比如:京东,淘宝网站等。
- 优点:服务器端更新,客户端浏览器不需要进行更新。
- 缺点:效果不炫,所有的代码运行都在服务器端,导致服务器压力过大。
- 效果:使用HTML5,CSS3可以做出很炫的效果。
- 服务器端压力:搭建服务器的集群。而且还有AJAX技术。
4、Tomcat服务器
4.1 Tomcat目录结构
4.2 部署Tomcat
一、直接将项目放在webapps目录下
简化部署:在一些情况下,项目比较大,copy时间较长,可以将项目打包成后缀名为.war的形式后放入webapps中,当想要拿掉项目时只需要删除.war文件就可以了。
缺点:需要拷贝,不灵活。
二、修改conf下的server.xml文件
在该文件最后的Host标签内添加标签
配置后再次访问的路径是:localhost:8080/虚拟目录/资源名
docBase:项目存放的路径。
path:虚拟目录
缺点:在server(整个tomcat的核心配置文件)中配置很不安全,当项目很多时,很可能把核心配置文件弄坏。
三、在conf\Catalina\localhost创建一个XML文件(推荐)
在创建的XML文件中写入下面的内容:
<Context docBase="项目存放的路径"/>
此时该项目的虚拟目录就是XML文件的名称。访问路径是:
localhost:8080/XML文件名/资源名
这种配置方式又叫做热部署,非常的推荐。
注:一般来说,作为一枚开发者,会第一种方式就可以了。而如果作为一枚运维,那么你一定要熟练掌握第三种热部署方式
上一篇: Django连接到Mysql
下一篇: 集成学习