第一章:Jsp_Servlet基础--尚学堂

摘要:Servlet     Servlet是服务器小应用程序(http/ftp等) ,用来完成B/S架构下客户端请求的响应处理 。平台独立,性能优良,能以线程方式运行 ,Servlet API为Servlet提供了统一的编程接口。   Servlet一般在容器中运行,常见的Servlet容器:       Tomcat (其下载、安装和运行请参考视频文件)        Jetty / Resi

Servlet

Servlet是服务器小应用程序(http/ftp等),用来完成B/S架构下客户端请求的响应处理 。平台独立,性能优良,能以线程方式运行,ServletAPI为Servlet提供了统一的编程接口。

Servlet一般在容器中运行,常见的Servlet容器:

Tomcat (其下载、安装和运行请参考视频文件) Jetty / Resin

timg (7).jpg

一.背景知识

1.常用的Web服务器

·IIS 应用服务器

·Apacheweb服务器(处理静态页面)

·Tomcat JSP/Servlet容器

2.通常的动态网页技术

·CGI (CommonGateWayInterface)

·API常用的有(NSAPI,ISAPI)

·ASP(Active Server Page)

·PHP(Personal Home Page)

·JSP/Servlet(Java Server Page)

二.tomcat

1.tomcat目录结构

·bin: 存放各种平台下启动和关闭Tomcat的脚本文件。

·startup.bat是windows下启动tomcat的文件,

·shutdown.bat是关闭tomcat的文件。

·common: 在common目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR。

·shared: 在shared目录下的lib目录,存放所有web应用能访问的,但Tomcat不能访问的JAR。

·server: 在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,来管理Tomcat-web服务用的。

·work : Tomcat把各种由jsp生成的servlet文件放在这个目录下。

·temp : 临时活页夹,Tomcat运行时候存放临时文件用的。

·logs : 存放Tomcat的日志文件

·webapps: web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了。

·conf : Tomcat的各种配置文件,最重要的是 server.xml.

2.tomcat启动与停止

·startup shutdown

·catalinastartcatalinastop

·catalinadebug调试错误的时候

·run exit help

·设置环境变量JAVA_HOME

·shutdown.batà小心使用

3.Tomcat配置文件

·conf/server.xml
服务器的主配置文件

·conf/web.xml
定义所有Web应用的配置

·缺省的Servlet定义和MIME类型定义

·conf/tomcat-user.xml
定义了tomcat用户的信息(用于权限与安全)

4.conf/server.xml

&middot;顶层类元素: 位于整个配置文件的顶层, <Server>;

&middot;连接器类元素[Connectors ]: 客户和服务(容器类元素)间的通讯接口。接受客户请求,返回响应结果;<Connector>

&middot;容器类元素[Containers]: 处理客户请求并且生成响应结果,包含3个:<Engine> <Host> <Context>

&middot;嵌套类元素[Nested Components]: 可以加入到容器中的元素,包括:<logger> <Valve><Realm>等

&middot;一个<Server>包含一个或多个<Service>,一个<Service>包含唯一一个< Engine>和一个或多个<Connector>,多个 <Connector>共享一个<Engine>;一个<Engine>包含多个<Host>,每个 <Host>定义一个虚拟主机,包含一个或多个web应用<Context>; <Context>元素是代表一个在虚拟主机上运行的Web应用。

&middot;Please note that for tomcat 5.x, unlike tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. Instead, put them in the META-INF/context.xml directory of your WAR file or the conf directory as described above.

5.什么是MIME

&middot;Multipurpos Internet Mail Extension

&middot;指明白传送内容的格式

&middot;最早用于邮件附件

&middot;传递文件的头信息

&middot;MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

三.HTTP协议

1.HTTP协议基础:客户端请求

&middot;GET /latest.html HTTP/1.1
Host: www.foo.com
Content-Type: text/html

{空行}

&middot;POST /servlet/serv HTTP/1.1
Host: www.foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 32
username=billgates&password=hehe

&middot;HTTP/1.1 200 OK ---服务器响应
Date: Fri,31 Dec 2003 10:23:34 GMT
Content-Type: text/html
Content-length: 280

<html>
……
</html>

四.Web Application的概念

1&middot;Web Application Name

&middot;WEB-INF 静态文件直接放在这,就可访问

&middot;&middot;web.xml

该web app的配置文件

&middot;&middot;lib

该web app用到的库文件

&middot;&middot;classes

存放编译好的servlet

&middot;META-INF

&middot;&middot;存放该web app的上下文信息,符合J2EE标准

2&middot;Web Application可以直接放在webapp下面,也可以通过配置文件指定到其他目录 <host>里面

<Context path=“/虚拟路径名“ docBase=”目录位置" debug="0" reloadable="true"/>