Javaweb与Tomcat服务器

来源:互联网 发布:markmonitor 注册域名 编辑:程序博客网 时间:2024/04/29 11:21

关键名词:网页、web应用程序、服务器、应用层协议、网络通讯程序

web表示网页,它用于表示Internet主机上供外界访问的资源;Javaweb表示是用java代码开发的网页。

 

Internet上供外界访问的Web资源分为两种:

1) 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

2) 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。(一般情况下是访问动态web资源)

静态web资源开发技术:Html

动态web资源开发技术:JSP/Servlet、ASP、PHP等


在Java中,动态web资源开发技术统称为Javaweb,如何使用Java技术开发动态的web资源,即动态web页面。 Javaweb:使用java技术开发web页面。

 

Web(网页)具有以下3个特征:

1)用超级文本技术HTML来表达信息,以及建立信息与信息的链接

2)用统一资源定位技术URL来实现网络上信息的精确定位

3)用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程


服务器(把web应用程序部署到服务器上,服务器其实是网络通讯程序):

学习web开发,需要先安装一台web服务器(把服务器软件安装到电脑上),然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。

用户只能访问服务器上的网站,不能访问本地计算机上的web应用程序。

 

使用服务器访问web资源,服务器端是如何处理的?

服务器端是以文件流的形式传递数据的。

使用浏览器访问本地计算机上的html页面,使用java代码编写应用程序模拟服务器软件(设置端口号)。


1、在本地计算机上随便创建一个web页面,大家可以访问到吗?

访问不到。启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了,这说明什么问题?

1)、不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者

2)、WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,用户只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。

 

什么是J2EE规范?

J2EE规范(是一些接口或抽象类):服务器软件则实现了这种规范。规范服务器软件的一些标准。(要想开发一款服务器端软件,必须去实现这些规范,才能通讯;就比如要符合一些工商管理局的标准,才能开餐饮店)

按照实现JavaEE规范的多少:

轻量级服务器:tomcat  JbossAS。

重量级服务器:WebLogic WebSphereAS。


什么是服务器软件?  服务器软件实现了J2EE的规范,(web应用程序也实现了J2EE规范, 把web应用程序部署到服务器上。)


Web应用程序必须部署到服务器上才能被用户访问到。

用户访问的是服务器上的资源。Tomcat是服务器软件。

MyEcpllise只是开发环境,开发好Web应用程序之后,必须部署到服务器上。


常见WEB服务器:

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

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


Tomcat简单配置以及原理(微软的IIS服务器)(安装、启动、部署)

Tomcat服务器简介: Tomcat服务器底层使用的就是socket编程

Tomcat本身完全用Java语言编写。它可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。

JavaWeb学习都是基于Tomcat服务器的。

官方网址为http://tomcat.apache.org。

 

获取Tomcat安装程序包

1) tar.gz文件是Linux操作系统下的安装版本。

2) exe文件是Windows系统下的安装版本x86 x64。

3) zip文件是Windows系统下的压缩版本 (建议)。

 

安装Tomcat:

Tomcat6本身是基于JDK1.5的应用程序,因此在安装和使用之前必须先行安装1.5及以上版本的JDK(JRE)--->解压安装--->Exe安装.


Tomcat启动方式:

1)使用Tomcat服务程序(安装版)

2)使用Tomcat程序组中的快捷菜单(安装版)

3)使用Tomcat.exe程序(安装版)

4)使用批处理程序(解压版)

 

Tomcat服务器:

1)双击 bin 目录下的 startup.bat 文件。

2)输入 http://localhost:8080/,显示如下界面代表安装成功

 

常见启动问题:

1)Java_home环境变量;

在windows中设置java_home环境变量。只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。

2)端口占用问题(更改默认端口)。

3)Catalina_home环境变量的设置问题。 


Tomcat目录层次结构:(Tomcat解压后,每个文件夹所做什么的,有什么用,有什么特点)

启动、关闭服务器的脚本 startup.bat  shutdown.bat   除了点击startup.bat启动服务器外,如何使用命令行进行启动服务器和关闭服务器。

Tomcat的启动信息(服务器启动需要多少时间? ),Tomcat服务器应用程序的默认端口是8080;

config:web.xml的配置文件;server.xml的配置文件

tomcat启动、运行所需要的jar包,环境。

log:里面有服务器启动的日志。可以把里面的日志删除掉,没什么用的。

temp:临时文件,Tomcat能够自动删除,不用管。

webapps:web应用程序的存放目录。root目录

JAVA_HOME环境变量配置    jdk目录配置到环境变量中即可。

解决Tomcat启动一闪而过的问题:set java_home=jdk安装目录。

应用工程名称, 不能把页面直接放在webapps目录下




JavaWEB应用程序:

1)WEB应用程序指供浏览器访问的程序,通常也简称为web应用(程序)。

2)一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件jsp文件、java程序、支持jar包、配置文件……

3)Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射

 

在JavaWeb应用中可以包含以下内容:

1)Servlet 组件:标准Servlet接口的实现类,运行在服务器端,包含了被Servlet容器动态调用的程序代码。

2)JSP组件:包含Java程序代码的HTML文档,运行在服务器端。当客户端请求访问JSP文件时,Servlet容器先把它编译成Servlet类,然后动态调用它的程序代码。

3)相关的Java类:开发人员自定义的与Web应用相关的Java类。

4)静态文档:存放在服务器端的文件系统中,如HTML文件、图片文件和声音文件等。当客户端请求访问这些文件时,Servlet容器会先先从服务器上的本地文件系统中读取这些文件,再把它们发送给客户端。

5)客户端类:由客户端来运行的类。Applet是典型的客户端类。当客户请求访问Applet时,Servlet容器先从服务器上的本地文件系统中读取Applet的class类文件的数据,再把它发送到客户端,由客户端来运行Applet。

6)web.xml文件:JavaWeb应用的配置文件,采用XML格式。


Javaweb应用的目录结构:WEB-INF 目录下  WEB-INF文件夹不是必须的,但是如果有动态的web资源,必须有此文件夹。

WEB-INF 目录下的资源不能够被浏览器直接访问,只能通过间接的形式去访问


1)Tomcat的lib子目录:存放的JAR文件不仅能被Tomcat访问,还能被所有在Tomcat中发布的JavaWeb应用访问。

2)JavaWeb应用的lib子目录:存放的JAR文件只能被当前JavaWeb应用访问 (web应用程序所需的要的jar包)。

3)classes存放编译之后的字节码文件。有服务器负责调用

4)web.xml用于配置动态页面的访问路径。


 

假如Tomcat类加载器要加载一个MyClass的类,它会按照以下先后顺序到各个目录中去查找MyClass的class文件,直到找到为止,如果所有目录中都不存在MyClass.class的文件,则会抛出异常:

1、在JavaWeb应用的WEB-INF/classes中查找MyClass.class文件。

2、在JavaWeb应用的 WEB-INF/lib目录下的JAR文件中查找MyClass.class文件。

3、在Tomcat的lib子目录下直接查找MyClass.class文件。

4、在Tomcat的lib子目录下JAR的文件中查找MyClass.class文件。

 

发布JavaWeb应用:(如何发布javaweb应用程序? 直接copy到Tomcat的webapps目录下

1)演示建立一个web应用

2)发布JavaWeb应用(开放式目录和war):Jar –cvf *.war .


Web组件的URL:

无论是开放式目录结构还是打包文件方式发布web应用web应用的默认URL入口都是Web应用的根目录名。例如要访问MyApp应用,它的URL入口为/MyApp,如访问本地服务http://localhost:8080/MyApp。

tomcat默认端口号是8080.

 

Tomcat的组成结构:

Tomcat本身由一系列可配置的组件构成,其中核心组件是Servlet容器组件,它是所有其他Tomcat组件的顶层容器。每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。以下用XML的形式展示了各种Tomcat组件之间的关系。



Tomcat体系架构:



//-------------------------------------------------------------------------------------------------->

虚拟目录配置,我总结的


连接器Connector

域名对应IP地址,域名解析器 DNS:把域名解析成ip地址。



为什么要配置虚拟目录?虚拟目录怎么配置?配置虚拟目录的两种方式

实际问题:如果开发的应用程序,你不想放到webapps目录下面,该如何处理呢,设置虚拟目录进行映射。

Tomcat的默认端口是:8080; 端口号1到1024 不能随便用。

修改Tomcat的默认端口,访问的时候,不用携带端口号就好了。一定要看好是哪个连接器里面的内容。8080--->直接修改为80 就可以了。

//-------------------------------------------------------------------------------------------------->

虚似目录的映射方式(指向): 

在server.xml文件的host元素中配置,例如:


Context元素:

Tomcat6.x提供了多种配置<Context>元素的途径。当其加载一个web应用时,会依次按照以下五种方式尝试查找Web应用的<Context>元素,直到找到为止:

1)到Tomcat安装目录/conf/context.xml文件中查找<Context>元素。

2)到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素。

[enginename]:表示<Engine>的name属性

[hostname]:表示<Host>的name属性。

3)到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。

[contextpath]:表示单个Web应用的URL入口。

4)到Web应用的META-INF/context.xml文件中查找<Context>元素。

5) 到Tomcat安装目录/conf/server.xml文件中查找<Context>元素。只适用于单个Web应用。

如果仅仅为单个Web应用配置<Context>元素,可以优先采用第三种配置方式。

注意:若想让程序成为默认的Web应用,即访问http://localhost:8080时自动登录到Web应用的主页,可以在此处增加名字为ROOT.xml文件,其<Context>元素的path属性应该为””

 

Context元素的属性:


web.xml文件:

通过web.xml文件,可以将web应用中的:

某个web资源配置为网站首页

将servlet程序映射到某个url地址上

……

凡涉及到对web资源进行配置,都需要通过web.xml文件

举例:通过web.xml文件配置网站首页。

注意:web.xml文件必须放在web应用\WEB-INF目录下

 //-------------------------------------------------------------------------------------------------->

为什么要配置虚拟主机?    如何配置虚拟主机?(Host标签的使用, 在server.xml 中进行配置 现在用处不大。)

配置虚似主机: (如果多个web应用发布到同一个服务器上,该如何访问呢? 配置虚拟主机)

假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机

www.itcast.cn               www.itheima.com。

尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机。如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:

<Host name=”site1” appBase=”c:\app”></Host>

配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。

配置多个网站。

缺省虚似主机。

修改Windows系统中的C:\WINDOWS\system32\drivers\etc\hosts

//-------------------------------------------------------------------------------------------------->

Web应用的生命周期

需求:  在服务器中有多个web应用,只想停掉其中的某一个web应用,应该如何实现呢

实现:  在服务器后台管理页面,进行应用的启动和停止,需要账号进行登录

用Tomcat的管理平台管理Web应用的生命周期。

Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。

manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:

<tomcat-users>

<role rolename=”manager”/>

<user username=”tomcat” password=”tomcat” roles=”manager”/>

</tomcat-users>



WEB开发的前景:

软件开发的两种架构:c/s和b/s


随着网络带宽的不断提升,云计算概念的提出(把所有的软件都架设在云端),浏览器只要足够强大,c/s架构立马就会被淘汰,不仅c/s架构会被淘汰,软件最终都会消失、操作系统都可以没有,最终将会是b/s架构的天下,也就是浏览器+搜索引擎的天下。所有现在桌面软件提供的功能,最后都由网站提供,也就是说,将来打开电脑就是一个浏览器,想要什么服务,通过搜索引擎一找,就可以在网上找到相应的服务,用就是了。所以web开发人员是现在最流行的岗位。



0 0