服务器

目录

服务器

服务器概述

Tomcat

虚拟主机和web应用


服务器概述

1、服务器概述 

服务器是用来存放web资源的容器,同时web资源可以分为:静态web资源和动态web资源。

静态web资源:每一个用户看到的内容都相同, 这些资源称之为静态web资源。

动态web资源:每一个用户看到内容不相同,这些资源称之为动态web资源。

2、服务器介绍

服务器有软件服务器和硬件服务器之分。所谓软件服务器指的是tomcat这一类的软件。硬件服务器是指的是真实存在的物理服务器。

3、服务器软件介绍

WebLogic是BEA公司的产品,是目前应用最广泛的web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求

java se 静态资源路径 java静态资源服务器_虚拟主机

另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图

java se 静态资源路径 java静态资源服务器_虚拟主机_02

在小型的应用系统或者有特殊需要的系统中,可以使用一个 免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范,启动界面如图

java se 静态资源路径 java静态资源服务器_虚拟主机_03

Tomcat

1、Tomcat的安装

解压tomcat压缩包即可。

2、启动Tomcat

在tomcat/bin目录下双击starup.bat文件,启动tomcat服务器。

在启动之后,窗口保留在桌面,最后显示一个毫秒值,则证明tomcat启动成功。

在浏览器端访问localhost:8080可以看到tomcat首页。

如果启动闪退:

1) 原因一:JAVA_HOME环境变量名称不合法。

2) 原因二:JAVA_HOME包保存的jdk路径无效。tomcat依赖于jdk。

3) 原因三:端口被占用。net stop https,netstat -ano查看端口号对应的pid打开任务管理器,关闭80或8080对应的pid进程。

4) 原因四:tomcat安装路径中不允许出现中文和空格。否则会导致不必要的错误。

3、Tomcat目录结构

bin---存储tomcat启动和关闭的脚本文件的目

conf---存储tomcat配置文件的目录

lib---存储tomcat依赖的jar包的目录

logs---存储tomcat启动和运行过程中的日志的目录

temp---存储tomcat临时文件的目录

webapps---存储tomcat运行时所需的web资源的目录

work---tomcat工作目录,在运行页面时产生工作文件。

 

虚拟主机和web应用

1、虚拟主机概念

在一个真实的服务器中,运行着多个网站,这些网站在用户看来是运行在各自独立的服务器当中,但是真实的情况却是运行在同一个服务器中。这些网站可以称之为主机,由于网站没有运行在各自的服务器中,所以可以把这些主机称之为虚拟主机。一个网站就是一台虚拟主机。

2、web应用概念

由于虚拟主机无法直接管理web资源,所以将web资源放入虚拟主机管理目录中的一个子目录内。这个目录管理同一功能的web资源,多个功能不同的web资源放入不同的目录中。一般情况下,web应用会根据功能划分,一个功能一个web应用。

3、web应用

1)web应用是一个目录,其中存放一个功能的全部web资源。(动态和静态的).在一个虚拟主机中,可以包含多个这样的目录。web应用全称叫做web应用目录。

2)web资源:

静态资源:HTML、IMG、CSS、JS、jQuery

动态资源:Servlet/jsp

3)web是网页的意思。需要将web内容放在Internet网络中,才能被其他互联网中的用户访问。所以web应用也需要这样做。

4)web应用被访问的方法:提供web应用的虚拟路径。

5)虚拟路径必须要映射在真实的web应用目录身上,这样在地址栏中访问虚拟路径的时候,才会得到对应的web资源。

4、web应用虚拟路径的创建方式:

第一种:在server.xml中找到<Host>标签,在其中添加一个,其中path存储虚拟路径,docBase存储真实路径。

<Context path=""  docBase=""/>

第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml文件。文件中存储web应用的真实路径。书写内容如下

注意:由于虚拟路径是xml文件的名称,window中不允许使用"/"命名文件,所以如果虚拟路径中存在多级路径,可以通过"#"来分割。

<Context  docBase="真实路径"  />

第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的名称。

5、缺省web应用

1)一个web应用可以配置为缺省web应用, 这样在访问缺省web应用的时候,就不用书写web应用的虚拟路径名称。

2)配置方式:

第一种:在server.xml中找到<Host>标签,在其中添加一个<Context path=""  docBase=""/>path中不需要书写任何内容,这时当前web应用就会作为缺省使用。

第二种:在conf/Catalina/localhost目录中添加一个以虚拟路径命名的.xml文件。作为缺省web应用,需要将文件名配置为ROOT.xml

第三种:在webapps目录中添加一个子目录,这个目录的名称就是虚拟路径的名称。 并且名称必须叫做ROOT.

3)缺省优先级:

server.xml  >  conf/Catalina/localhost >  webapps

6、web应用目录结构

web应用

|

|---存放静态web资源,此处存放的静态web资源可以被直接访问

|

|---WEB-INF

           |---  静态web资源   此处存放的静态web资源不可以被直接访问。

           |---lib            当前web应用所依赖的jar包

           |---classes    存放动态资源的目录

           |---web.xml  用于配置当前web应用,可以配置缺省主页,servlet映射,监听器和过滤器。

注意:一个web应用的目录结构可以不完整,但是如果要构建完整web应用,则需要严格遵循上述结构。

7、web.xml文件

web.xml是一个web应用的配置文件,可以在这个文件中配置web应用的缺省主页,servlet映射以及监听器和过滤器。

1)所有web应用中的web.xml文件都会自动继承conf/web.xml文件。

2)添加缺省主页:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"> 
	<welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>

8、虚拟主机

虚拟主机就相当于是一个网站。

配置虚拟主机:

1)在Server.xml文件中的<Engine>标签下添加一个<Host>标签,这个标签代表一个新的虚拟主机。内容如下:

<Host name="www.baidu.com"  appBase="baidu">
    </Host>

注意:如果添加配置之后出错,检查logs文件或检查刚刚的配置信息。

2)配置www.baidu.com映射在当前的主机之上。

修改hosts文件:文件路径:C:\Windows\System32\drivers\etc\hosts

修改hosts文件的意义:需要将www.baidu.com的ip地址指向本机,在浏览器访问域名时,hosts文件可以将域名解析成对应的ip地址。

3)在地址栏中输入www.baidu.com进行测试

4)缺省虚拟主机

在使用ip地址访问对应的服务器时,无法判断当前请求的是哪一个虚拟主机。只能使用缺省虚拟主机提供服务。配置如下:

<Engine name="Catalina" defaultHost="www.baidu.com">

<Host>有这些属性:

属性

描述

必需?

className

默认为org.

apache.catalina.core.StandardHost

appBase

web应用程序文件存放的位置,相对路径为CATALINA_HOMEM

autoDeploy

设为true,则web.xml发生变化时,tomcat自动重新部署程序。实现这个功能必需允许后台处理

name

virtual host的名称

backgroundProcessingDelay

跟Engine中的backgroundProcessingDelay类似

deployOnStartup

若为true,则当这个Engine启动时,tomcat将自动部署这个host,默认为true

deployXML

这个属性的目的是为了提高tomcat的安全性,控制web应用程序是否能使用META-INF/contex.xml。如果设为false,则各应用程序只能访问

$CATALINA_HOME/conf/<engine>/<host>/<app>.xml。默认值为True。

errorReportValveClass

定义host使用的error-reporting Valve,默认值为

org.apache.catalina.valves.ErrorReportValve

unpackWARs

tomcat在webapps文件夹中发现war文件时,是否自动将其解压

workdir

tomcat使用这个目录来放工作着的servlet和jsp(以servlet形式),这里面的servlet都是是编译好的class文件。默认为$CATALINA_HOME/work

9、杂项

1)查看ip地址:在cmd窗口书写ipconfig。

2)打war包:

指令压缩打包:jar -cvf news.war *.

压缩打包:将文件压缩为zip格式的压缩包即可。

总结:四个缺省

缺省端口

 :80

缺省web应用

ROOT

缺省主页

inex.html

缺省虚拟主机

defaultHost

缺省配置练习 

建立一个www.google.com的网站,配置为缺省虚拟主机。网站中有两个应用,news 和email。为两个应用配置缺省主页,并把email配置为缺省web应用。

java se 静态资源路径 java静态资源服务器_虚拟主机_04

java se 静态资源路径 java静态资源服务器_服务器_05

java se 静态资源路径 java静态资源服务器_虚拟主机_06

java se 静态资源路径 java静态资源服务器_服务器_07

java se 静态资源路径 java静态资源服务器_虚拟主机_08

java se 静态资源路径 java静态资源服务器_java se 静态资源路径_09

java se 静态资源路径 java静态资源服务器_web应用_10

 

现在我们可以通过www.google.com来访问我们的网站了,访问到的第一个页面是我们email 的缺省主页

修改域名www.google.com/news访问到的是我们news的缺省主页。