Web概述(二)

Web概述(二)

1. 什么是Web

Web概述(二)
更加全面的介绍请看之前的概述(一)。

2. 什么是JavaWeb

使用java语言进行Web开发。

3. Web的架构

3.1 C/S结构的软件

即我们常说的客户端/服务器,这类软件通常需要安装。如QQ,迅雷,播放器。(服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。)

  • 优点
    可以减轻服务器的压力,一部分的代码可以放在客户端执行。应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。
    数据的储存管理功能较为透明。界面美观
  • 缺点
    一但服务器更新,客户端也要更新。系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
    分布式开发较弱。对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于Windows2000或Windows XP。

3.2 B/S结构的软件

即浏览器/服务器结构。B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。

  • 优点
    服务器更新,客户端不用更新。因为浏览器就是客户端。B/S架构最大的优点是总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能 实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用。
    分布式开发较强
  • 缺点
    服务器压力相对较大,最大的缺点就是通信开销大、系统和数据的安全性较难保障。
    界面不如客户端效果

3.3 两种结构对比

Web概述(二)

4. Web服务器介绍

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

简单点说:

  • 硬件说:是一台电脑(配置较高)
  • 软件上:需要在该电脑上安装对应的Web软件

4.1 常用的Web服务器

大型或者中型服务器

  • Tomcat:Apache开源的一个免费的web服务器,遵循Java ee的servlet和JSP规范。
  • Apache:Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。它源于NCSAhttpd服务器,当NCSAWWW服务器项目停止后,那些使用NCSA WWW服务器的人们开始交换用于此服务器的补丁,这也是apache名称的由来(pache 补丁)。世界上很多著名的网站都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。运行在PHP平台上
  • WebSpere:IBM开发的一个大型收费web服务器,满足EE开发的所有规范
  • WebLogic:BEA开发的一个大型收费web服务器,满足EE开发的所有规范;BEA WebLogic Server 在使应用服务器成为企业应用架构的基础方面继续处于领先地位。
  • IISMicrosoft的Web服务器产品为Internet Information Services (IIS),IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。运行在.net平台上
  • JBoss:是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。

4.2 Web的资源

  • 静态的Web资源
    如HTML、CSS、JavaScript
  • 动态的Web资源
    如Servlet,JSP,PHP,ASP等。

5.常用服务器Tomcat

5.1 安装过程容易出现的问题

安装过程中:

5.2 Tomcat的目录结构

Web概述(二)

  • bin:二进制文件(一些命令文件,如start.bat启动文件和关闭文件等)
    Web概述(二)

  • conf:配置文件(如server.xml和logging.properties等文件)Web概述(二)

  • lib:运行Tomcat所需要的一些jar包。Web概述(二)

  • logs:运行Tomcat产生的日志信息。包括报错信息等。Web概述(二)

  • temp:运行Tomcat所产生的临时文件Web概述(二)

  • webapps:Web项目文件,需要发布的Web项目都要放在这个目录下面。Web概述(二)

  • work:JSP文件所翻译成servlet对应的文件(java类)Web概述(二)

5.3 动态Web资源的目录结构(重要!)

动态Web资源目录

  • 静态资源(HTML+CSS+JavaScript)
  • JSP页面
  • Web-INF文件夹
    Web.xml(包含web的一些配置文件信息,如servlet过滤器)
    classes文件夹(可选)
    lib文件夹(包含项目用到的第三方jar包等,可选)

如我写的一个项目,其结构如下:
Web概述(二)

5.4 Tomcat项目发布方式

5.4.1 方式一:直接将项目复制到Webapps目录下

第一步:
Web概述(二)
第二步:开启服务器,测试。
Web概述(二)

Web概述(二)

5.4.2 方式二:在Tomcat的conf/server.xml里面配置相应的虚拟路径

如图,添加Context标签。
Web概述(二)

<Host>标签里面配置<Context>便签,必须添加属性:path,docBase。

  • path是Tomcat里面的虚拟路径
  • docBase是对应的真实磁盘路径。不用具体到index.html,否则启动Tomcat会报错:java.lang.IllegalArgumentException:指定的主资源集无效。因为server.xml配错一点都会使得Tomcat无法使用,server.xml是核心配置文件,官方不推荐该方式部署项目。

测试:
Web概述(二)

5.4.3 方式三:在Tomcat的conf/Catalina/localhost/下配置Tomcat的虚拟路径(官方推荐)

  • conf/Catalina/localhost/创建需要的项目文件name.xml,项目的名字name对应着我们方式二里面的path。(我这里是third_program.xml)

  • 将方式二里面的server.xml的context内容放到该文件里面
    Web概述(二)

  • 在docBase对应的真实目录配置好Web项目。
    Web概述(二)

  • 启动服务器,访问。
    Web概述(二)