Tomcat是什么。Tomcat入门介绍

来源:互联网 发布:淘宝爆款打造方案 编辑:程序博客网 时间:2024/05/10 09:08

(本人小白,有些地方也是参考查询理解而来,如有错误,欢迎各位大神指正)

1.什么是web应用服务器?应用服务器其实也是一个应用程序。tomcat服务器也是web应用服务器之一。

2.tomcat服务器其实也是一个应用程序(软件),而服务器主机的意思:一台电脑上如果运行了tomcat服务器,我们就概称这台主机为服务器。
3.凡是实现了应用层协议的软件,都可以称作web服务器。web服务器是安装在服务端主机上实现了http协议的软件,也叫http服务器,如微软的IIS,当前排名第一开源免费的Apache(个人认为,凡是实现了应用层协议的软件都可以叫web服务器,如ftp服务器,smtp服务器,只不过我目前只关心http服务)。而目前我们只关心http服务,而一个web服务器必备的功能就是对某个端口进行循环监听,被动的接收客户端发送到该端口的http请求并响应。根据上述原理,我们自己也可以去编写web服务器。由于客户端是浏览器,我们就要根据http协议去自己解析和封装要交互的数据。
4.tomcat服务器本身也是由java语言开发的。
5.tomcat目录结构
bin  脚本目录  用于存放启动和配置tomcat的可执行文件
conf  (config) 配置目录  存放tomcat服务器的全局的配置文件(下面为两个重要文件)
           cong中有一个核心配置文件 server.xml
            所有的web项目的默认配置文件web.xml
lib  (library) 依赖的jar库。存放tomcat服务器运行以及部署在tomcat上面的web项目运行所需要的jar包  该目录被所有web项目共享
logs  日志目录 存放tomcat服务器运行产生的一些日志文件
temp 临时文件 可以随意删除
webapps  web应用发布目录  存储部署在tomcat的所有web项目
work  tomcat处理jsp文件的工作目录
6.一个web应用的目录结构以及web应用是如何部署到tomcat服务器的?


web项目发布到tomcat中的过程:
(1).首先tomcat先在web apps下面建立一个与web应用工程名同名的文件夹
(2).然后将web content下的所有文件原封不动的拷贝到web应用的文件夹下(web content是eclipse中创建的动态web项目内一个文件夹)
注意:web-INF目录是受保护的,外界不能直接访问
7.项目发布后,浏览器端访问是怎样一个过程?
 客户端直接访问的是servlet文件。如下图:


url-pattern的配置有三种,即完全匹配,目录匹配,扩展名匹配。如果什么都没写,只写了一个“/”,为缺省路径匹配。即所有服务器找不到的都来找缺省路径。web应用中所有资源的响应都是由servlet配置负责的,也包括所有的静态资源。不管是访问什么,都是先去web项目下的web.xml文件中通过servlet配置查找该资源。
如果客户端访问的是html 等静态页面。访问过程:
由上所述。如果访问1.html这个静态资源,tomcat首先会拿着这个1.html去指定的web项目下的web.xml中找一个<url-pattren>为1.html的配置。如果找不到,就去找缺省的。如果web.xml中也没有配置缺省的路径。就会去tomcat服务器中的全局web.xml中去寻找。最终找到全局web.xml中的缺省路径。然后这个缺省的servlet会去找一个1.html的静态源,然后读取1.html的内容,逐行输出到浏览器。所以我们就看到了1.html的页面。如果连1.html的静态资源也没有,就会报404错误。那么这个404错误的这个页面,当然也是全局web.xml中的缺省servlet帮你输出的。
tomcat服务器的全局web.xml配置文件中根据<>url-pattern>找到<servlet>名称为default.再根据default找到缺省servlet的配置如下:





当前项目的web.xml没有配置客户端访问的路径,如何处理?(缺省路径问题)
   (见上)

8.浏览器访问tomcat中的项目整个过程中,tomcat都做了一些什么事情?
       1.客户端先根据访问地址找到tomcat服务器,找到服务器后,也就是把http请求发给了tomcat
        2.然后tomcat服务器根据http请求,解析请求内容,获得客户端要请求的资源的地址。并找到该资源
        3.创建servlet的实例对象。
        4.第一次访问,tomcat服务器会调用该servlet的init方法。每次访问,服务器都会调用service方法。而service方法需要两个参数,requst和response。所以tomcat服务器会创建requst和response对象用于调用service方法传递参数.


关于servlet的入门介绍,servlet的声明周期参考:

1.servlet是什么?其实servlet是一个接口。是sun公司提供的一套规范(接口)。用来处理客户端请求、响应给浏览器的动态资源。而我们通常提到的servlet,就是指实现了servlet接口的类。所以对于实现了servlet接口的类,我们都概称为servlet。所以servlet的实质就是一套java代码,通过javaAPI 动态的向客户端输出内容。这个写好的servlet最后要放到一个web应用服务器中运行,以供外界访问。

2.servlet的实现有三种方式。实现接口或继承类

3.servlet的生命周期:

        web应用成功发布到tomcat中后。当外界第一次访问该servlet的时候。创建servlet对象,并调用servlet类的init方法进行初始化。每一次访问servlet类的时候,tomcat引擎都会调用servlet类的service方法。服务器关闭的时候,调用distory方法,servlet对象被销毁。(而对于servlet对象的创建,默认是第一次访问的时候创建,其实也可以在服务器一启动的时候就创建。这时需要在自己的web项目,web.xml文件中 <servlet>下面配置一个 <load-on-startup>

4.域对象的介绍:

域对象之一 servletcontext: servletcontext是整个web应用的一个域对象。它里面存的东西,整个web项目中任意地方都可以去访问到。在服务器启动或该web应用一发布tomcat服务器的时候就被创建。在web应用被移除或服务器关闭时消失。一个域对象必备的三个方法:

setAtrribute(String name,Object obj);

getAttribute(String name);

removeAttribute(String name);


域对象就是用来存储数据的。以供内部存取访问



原创粉丝点击