web概述

来源:互联网 发布:vivo软件商店官网 编辑:程序博客网 时间:2024/06/05 14:37

1. web概述

1.1. WEB概念

1.1.1. Web概念

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

1.2. web资源分类

1.2.1. 静态web资源(如html 页面):

web页面中供人们浏览的数据始终是不变。如HtmlCSSjavaScript

1.2.2. 动态web资源:

2. 指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。如JSP/ServletASPPHP

3. 在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。

2. Web服务器

2.1. Servlet容器、web容器、web服务器

2.1.1. Servlet容器:

java中的动态资源开发技术为Servlet/JSP,sun公司定义了Servlet/JSP的技术规范,遵循这样规范就可以写出对应的ServletJSP程序,但是ServletJSP本身不能直接运行,需要运行他们的环境,于是有不同的厂商分别按照Servlet/JSP规范的要求开发了对应的运行环境,这样的能够运行Servlet/JSP的环境就叫做Servlet容器。

2.1.2. web容器:

web资源按照一定的规则整合起来组成能够被web访问的应用程序就叫做web应用,web应用运行也需要一定的环境。能够运行web应用的环境叫做web容器。

web容器的概念通常要大于Servlet容器,Servlet容器通常都是web容器,但是web容器不一定是Servlet容器,因为运行ASPPHP的服务器是web容器,但是不能运行Servlet所以不能叫Servlet容器。

2.1.3. web服务器

web容器/Servlet容器具体来说就是web服务器,学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。

注意:这里所说的服务器不是指服务器硬件资源,而是指服务器软件。

2.2. 常见的web服务器

2.2.1. WebLogic

WebLogicBEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范。

如图-1所示:

 

 

-1

 

2.2.2. WebSphere

WebSphereIBM公司的产品,支持J2EE规范,使用的也不少。

如图-2所示:

 

-2

 

2.2.3. Tomcat

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

虽然是免费开源的服务器,并且不能完全支持J2EE规范,但是它免费、轻量等特性让他仍然十分受到欢迎。我们学习阶段就是使用tomcat作为服务器。

如图-3所示:

 

-3

 

 

2.3. tomcat的下载安装配置

2.3.1. 下载tomcat

tomcatApache开源组织开发并无偿发布的免费开源的servlet容器,任何人都可以在他的官网上免费获取该服务器的拷贝及源代码,下载地址为:http://tomcat.apache.org/ 

如下图位置提供了各个版本的tomcat下载,如图-4所示:

 

-4

下载时请注意,不同版本的区别:

.zip为压缩版,解压后即可使用,注意区分操作系统是32位还是64位。

.exe为安装版,安装后使用,注意区分操作系统是32位还是64位。

安装版和解压版基本相同,只不过解压版解压后需要配置环境变量,安装版不需要。

.tar.gzlinux版本.

如图-5所示:

 

-5

我们这里选择解压版下载。

2.3.2. 安装tomcat

将解压版.zip包拷贝到要安装的目录下,解压。

注意,在tomcat的安装目录中不允许有空格和中文字符其实不止tomcat,绝大部分开发相关的软件都对中文和空格支持有问题,所以以后在安装任何软件时都要养成一个习惯:路径中绝对不要有中文和空格!

打开[tomcat]/bin目录,发现其中包含大量.bat程序,找到startup.bat,双击启动发现cmd窗口一闪而过。这是因为启动报错后cmd窗口关闭了自己,所以我们只看到一闪而过的窗口。

windows的命令中启动cmd窗口,进入[tomcat]/bin目录,执行startup.bat,发现报错,如图-6所示:

 

-6

简单阅读后发现提示,没有配置JAVA_HOME环境变量,因为tomcat本身也是java写的程序,运行需要jdk的支持,所以需要通过JAVA_HOME环境变量通知tomcat启动时用的jdk在哪。

要注意的是,不同版本的tomcat要求的jdk的版本是不相同的。

tomcat6 需要 jdk5.0以上版本。

tomcat7 需要 jdk6.0以上版本。

tomcat8 需要jdk7.0以上版本。

所以只需要配置环境变量JAVA_HOME指向tomcat安装的根目录即可,如图-7所示:

 

-7

再次启动tomcat,发现可以正常工作。

看到类似界面说明tomcat正常的启动起来了。如图-8所示:

 

-8

打开浏览器,访问 http://localhost:8080可以看到如下画面,如图-9所示:

 

-9

 

2.3.3. 安装常见问题

1)端口占用问题

可以在cmd窗口中使用netstat -ano命令查询出哪个程序占用了端口,结束这个程序后再启动tomcat即可

2Catalina_home环境变量:

用来指定启动的tomcat的位置,如果没有配置过这个环境变量,则在哪个tomcat中启动,则该tomcat被启动,如果这个环境变量被配置过,无论在哪个tomcat中启动,最终启动的都是该环境变量指定的tomcat

2.3.4. 关闭服务器

[tomcat]/bin 目录下 双击shutdown.bat即可关闭服务器。

直接关闭tomcat窗口也可快速关闭服务器,但是这种做法服务器没有执行正常的关闭流程,有时会造成下次启动报错,遇到这种情况只要再执行一次shutdonw.bat即可解决问题。

2.4. tomcat的目录结构

bin --- 存放tomcat启动和关闭用的bat文件的文件

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

lib --- 存放tomcat运行时依赖的jar

logs --- 存放tomcat运行时产生的日志文件的

temp --- tomcat自己用来存放运行过程中产生的临时文件的目录,不需要我们管理,tomcat自动管理

webapps --- 这是和开发人员关系最大的目录,是用来存放web应用的目录,我们开发的web资源最终要保存在这个目录下,外界就可以访问了

work --- tomcat的工作目录,tomcat在运行时产生的工作文件存放在这个目录

conf/server.xml--tomcat的核心配置文件

2.5. tomcat中的基本概念

2.5.1. 虚拟主机

tomcat中可以配置管理多个网站,外界在访问这些网站时,并不知道这些网站是运行在同一个tomcat中的,感觉起来就像他们各自运行在各自的虚拟出来的主机中一样,所以将一个网站交给tomcat去管理的过程称为为tomcat配置一台虚拟主机。

2.5.2. web应用

一个虚拟主机包含着许多web资源,但这些web资源不能直接交给虚拟主机管理,需要按照功能将web资源按照一定的目录结构组织成web应用再交给虚拟主机去管理

2.5.3. 虚拟路径映射

web应用交给虚拟主机管理,为web应用真实路径配置一个对外访问的虚拟的路径的过程叫做web应用的虚拟路径映射。

以上概念如图-10所示:

 

-10

2.6. web应用目录结构

2.6.1. web应用目录结构

web资源需要按照一定方式组织成web应用才能交给虚拟主机去管理。web应用的目录结构如下:

mail --- web应用所在的目录

 |

 |--html css js jsp  

 |

 |--WEB-INF

|--classes 

|

|--lib 

|

|--web.xml 

1)静态web资源和jsp可以放置在web应用的根目录下,web应用根目录下的资源,浏览器可以直接访问

2WEB-INF目录可以没有,但是一旦有了,必须符合结构,放置在这个目录中的资源会被保护起来,浏览器是没有办法直接访问的

3WEB-INF/classes存放动态web资源的 class文件的

4WEB-INF/lib 存放class们依赖的jar包的

5WEB-INF/web.xml整个web应用的核心配置文件,这个web应的所有配置都要在这里进行 (配置web应用的主页 配置Servlet映射 配置监听器 配置过滤器....)

2.7. web应用配置虚拟路径映射的三种方式

2.7.1. 方式1

server.xml中的<Host>标签中配置<Context>标签,其中的path属性指定虚拟路径(浏览器访问的路径)docBase指向真实的web应用目录。

注意,这种方式配置的web应用需要重启服务器后才会生效。

如果将path配置为空,则当前web应用称为虚拟主机的缺省web应用。

如图-11所示:

 

-11

2.7.2. 方式2

[tomcat]/conf/[engin]/[host]目录下新建一个xml文件,其中文件名为成当前web应用虚拟路径,在xml文件的内部,<Context>标签配置docBase指定真实路径,注意这种配置方式不需要指定path虚拟路径,因为文件名就是path.

这种方式不需要重启服务器即可起作用。

如果将xml文件名改为ROOT.xml则当前web应用成为当前虚拟主机的缺省web应用。

如图-12所示:

 

-12

2.7.3. 方式3

直接将web应用放置到虚拟主机管理的目录中。虚拟主机自动管理该目录,文件夹的名字成为web应用的虚拟路径。

这种方式不需要重启服务器即可起作用。

如果将文件夹的名字改为ROOT则当前web应用成为缺省web应用。

localhost虚拟主机管理的是webapps目录,所以将应用放置到webapps目录下通过localhost主机就可以直接访问了。

如图-13所示:

 

-13

2.8. 配置虚拟主机

2.8.1. 配置虚拟主机

想要配置一台虚拟主机,只需要在[tomcat]/server.xml<Engin>标签下配置<Host>标签即可:

<Host name=”主机名” appBase=”虚拟主机管理的目录”></Host>

其中“虚拟主机管理的目录”是为当前虚拟主机配置一个虚拟主机管理的目录,可以将web应用放置到该目录下,虚拟主机就会自动管理该web应用了。

如图-14所示:

 

-14

此时通过浏览器访问http://www.baidu.com发现无法访问。

这是因为还没有配置dns服务器。

2.8.2. DNS服务器

网络中是通过ip来区分不同的主机的,浏览器如何知道www.baidu.com对应的主机的ip呢?这里就是dns服务器在起作用了。

互联网上有一些专门将域名翻译为对应主机ip的服务器叫做dns服务器(域名解析服务器)专门进行域名到ip的翻译工作。

如果我们想要让www.baidu.com能够访问当前虚拟主机,还需要到dns服务器中进行配置,将www.baidu.com和本机ip地址进行绑定才可以。

但是dns是不能随意修改的!那我们如何进行测试呢?

2.8.3. Hosts文件

好在c:/windwos/system32/drivers/etc/hosts文件可以模拟dns的功能,浏览器在访问dns之前会首先检查该文件,如果这个文件中配置过域名ip映射,则会直接使用而不再去找dns服务器了。所以我们可以在hosts文件中进行如下配置,如图-15所示:

 

-15

再通过浏览器访问,发现成功访问了我们配置的虚拟主机中的web应用。

2.8.4. 综合练习

配置www.163.com虚拟主机,以三种方式配置web应用,并选择一种配置为缺省web应用,并且配置web应用的主页,最终实现,直接访问www.163.com时能够显示主页的内容。

2.9. 其他相关

2.9.1. 打war

web应用是一个文件夹,可以将文件夹形式的web应用打成一个war包,减少体积同时更方便操作。

cmd窗口中进入应用目录,使用jar -cvf news.war * 即可将当前目录下的内容打成 news.war

war包直接丢到虚拟主机管理目录下,发现会自动解压成web应用。十分方便。

2.9.2. 通用web.xml 通用context.xml

[tomcat]/conf目录下有一个web.xmlcontext.xml文件,整个服务器内所有的web.xml可以认为继承自该web.xml。整个服务器中的<Context>可以认为继承自该context.xml中配置的<Context>,所以如果有一些通用配置不希望每次都具体配置一次,可以在这里配置。

3. Myeclipse环境下整合JDKTOMCAT

3. 

3.1. Myeclipse概述

3.1.1. Myeclipse概述

Myeclipse是基于Eclipse的一个javaweb集成开发环境。在Eclipse基础上增加了很多和javaweb开发相关的插件,可以大大提高开发效率。

3.2. Myeclipse配置

3.2.1. 为Myeclipse配置JDK

Myeclipse可以帮我们管理JDK。我们可以将自己的jdk交给Myeclipse管理,供开发使用。

步骤一:在菜单中选择window->preferences

如图-15所示:

 

-15

步骤二:在弹出的选项卡中选择java->installed jres选项卡。

我们发现Myeclipse已经自带了一个JDK,但是强烈建议不要使用这个默认的JDK,这是一个不完整的JDK,经常会导致一些莫名奇妙的问题。我们导入自己安装的jdk使用。

如图-16所示:

 

-16

步骤三:点击Add…->StandardVM弹出如下界面点击Directory…选择要导入的jdk所在的文件夹,确定导入。

如图-17所示:

 

-17

步骤四:最终成功导入了jdk,然后勾选新导入的jdk,确定即可将新导入的jdk设置为Myeclipse默认jdk

如图-18所示:

 

-18

3.2.2. 在Myeclipse中整合tomcat

Myeclipse同样可以帮我们管理tomcat

步骤一:选择window->preferences->myeclipse->server->Tomcat->tomcat x.x点击Browse..选择要导入的tomcat。并将状态设置为Enable,启用该tomcat

如图-19所示:

 

-19

 

步骤二:打开JDK选项,指定tomcat要使用的JDK

如图-20所示:

 

-20

步骤三:打开launch选项,设置tomcat工作模式。

其中debug mode为调试模式,该模式下tomcat会响应断点调试,便于调试程序。

Run mode为运行模式,该模式下忽略所有断点。

所以开发阶段使用debug mode,开发完成到真正上线环节时,tomcat要运行在run mode模式。

如图-21所示:

 

-21

完成以上步骤后,我们就将tomcat交给了Myeclipse去管理。

Myeclipse提供了使用tomcat的快捷键。如图-22所示:

 

-22

左边为部署按钮,可以将Myeclipse开发的web应用拷贝到tomcat/weapps目录下,即直接交给localhost虚拟主机管理。

右边为服务器管理按钮,从其中可以找到刚才配置的tomcat服务器,实现对服务器的开启、关闭操作

3.2.3. Myeclipse中开发web应用

File->New->WebProject创建一个新的web工程。如图-23所示:

 

-23

其中Project Name指定当前工程名称。

Source folder指定工程中源代码目录。

Web Root Folder工程中会维护一个web应用目录结构,此选项指定目录名称。

Context root Url web工程开发完成后可以通过Myeclipse发布到tomcatwebapps目录中,此选项指定发布到tomcatweb应用的名称。

J2EE specification level 要使用的javaee版本。

如图-24所示:

 

-24

配置好确定后一个web应用工程就创建出来了。

Src目录放置源码,此处写的.java会被自动编译,编译出来的class会被放置到WebRoot/classes目录下。

如图-25所示:

 

-25

WebRoot目录维护了一个web应用结构,Web应用开发完成后可通过发布工具发布到tomcat,所谓的发布其实就是将WebRoot下的所有东西拷贝了一份到tomcat/webapps/[web应用名称目录下,这样相当于将该web应用配置到了localhost虚拟主机中。

通过localhost虚拟主机就可以访问该web应用了。

如图-26所示:

 

-26

 


0 0
原创粉丝点击