Servlet与Tomcat

Web应用不只局限于展现在服务器上的静态页面,更多的是根据用的请求动态的生成页面信息,还能够从数据库中提取数据,生成页面返回给用户。web

 

第一种方法:遵循HTTP协议实现一个服务器端软件数据库

 

第二种方法:利用已实现HTTP协议的服务器端软件留出的扩展接口,根据相应的规则提供扩展功能小程序

 

 

最先的Web服务器扩展机制是CGI,容许用户调用Web服务器上的CGI程序。浏览器

CGI的全称Common Gateway Interface,即公共网关接口。安全

 

大多数CGI程序用Perl编写,也有用C、Python或PHP来编写的。服务器

 

用户访问CGI的过程包括:网络

  1. 用户经过单击某个连接或者直接在浏览器输入URL来访问CGI程序;
  2. web服务器接收到请求后,发现这个请求是给CGI程序的,因而就启动并运行这个CGI程序;
  3. CGI程序解析请求中的CGI数据,处理数据并产生一个响应,这个响应一般是HTML页面;
  4. 这个响应被返回给Web服务器,Web服务器包装这个响应,以HTTP响应的形式发送给Web浏览器。

 

CGI的缺点有:多线程

CGI程序编写困难;app

对用户请求的响应时间比较长;webapp

以进程的方式致使性能受限。

 

CGI的其余解决方案:

Sun公司的Servlet技术(97年),JSP技术(98年);

微软公司的ASP技术(96年);

Rasmus Lerdorf在94年发明的PHP。

 

Servlet和Servlet容器

 

Java Servlet(Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,由Servelet容器所管理,用于生成动态内容。

Servlet是平台独立的Java类,写一个Servlet实际上就是按照Servlet的规范编写一个Java类。

 

Servlet容器有时也叫Servlet引擎,是Web服务器或应用程序的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化基于MIME的响应;

Servlet不能独立运行,必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法;

Servlet容器在Servlet的生命周期内包容和管理Servlet。

 

JSP推出后,管理和运行Servlet/JSP的容器也被称为Web容器。

 

用户访问Servlet的过程包括:

用户经过点击连接或者在地址栏输入URL来访问Servlet;

Web服务器接收到该请求后,并非直接将请求直接交给Servlet,而是交给Servlet容器;

Servlet容器实例化Servlet,调用Servlet的一个特定方法对请求进行处理,并产生一个响应;

这个响应由Servlet容器返回给Web服务器;

Web服务器包装该响应,以HTTP响应的形式发送给Web浏览器。

 

相比于CGI,Servlet有一下优点:

Servlet的单实例多线程运行方式,每一个请求在一个独立的线程中运行,而提供服务的Servlet实例只有一个;

Servlet使用线程而不是操做系统进程;

Servlet使用标准的API,被更多的Web服务器所支持;

Servlet采用Java编写,具备容易开发和平台独立的优势;

Servlet能够访问Java平台丰富的类库;

Servlet容器给Servlet提供额外的功能,如错误处理和安全。

 

Servlet容器有三类:

独立的Servlet容器;

进程内的Servlet容器;

进程外的Servlet容器。

 

Tomcat和IIS、Apache等Web服务器同样,具备处理HTML页面的功能,另外它仍是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

不过Tomcat处理静态HTML的功能不如Apache,咱们能够将两者结合起来使用,Apache做为HTTP Web服务器,Tomcat做为Web容器。

 

Tomcat服务器接受用户请求并作出响应的过程

客户端(一般是浏览器)访问Web服务器,发送HTTP请求;

Web服务器接收到请求后,传递给Servlet容器;

Servlet容器加载Servlet,产生Servlet实例后,向其传递表示请求和响应的对象;

Servlet实例使用请求对象得到客户端的请求信息,而后进行相应的处理;

Servlet实例将处理结果经过响应对象发送回客户端,容器负责确保响应正确送出,同时将控制返回给Web服务器。

 

Tomcat目录结构及其用途

目录 用途
/bin 存放启动和关闭Tomcat的脚本
/conf 存放Tomcat的各类配置文件,其中包括Server.xml(主要配置文件)
/lib 存放Tomcat服务器和Web应用程序须要访问的JAR文件
/logs 日志文件
/temp 临时文件
/webapps 发布Web应用程序时,将Web应用程序的目录和文件放到这个目录下
/work Tomcat将JSP生成的Servlet源文件和字节码文件放于此

 

Tomcat安装目录下的conf子目录用于存放Tomcat服务器的各类配置文件,其中的server.xml是Tomcat的主要配置文件,这是一个格式良好的XML文档,在这个文件中能够修改Tomcat默认监听的端口号。

<Connector port=”8080” protocol="HTTP/1.1"

                    connectionTimeout="20000"

                    redirectPort="8443" />

 

Tomcat启动分析

主要是分析几个bin下的脚本

 

Tomcat体系结构(这里还没怎么看懂,先放一下吧

相关文章
相关标签/搜索