Servlet基础_0100_HelloWorld

 一.servlet简介

servlet 是服务器端的小程序,但不一定是web服务器的小程序,他也可以是smtp端的小程序,也可以邮件服务器的小程序,它只是sun为javaee定的一个标 准,sun为javaSE提供了强大的类库,但sun没有为javaEE提供类库,这也不可能提供的,他只是提供了这样的一套标准。三流公司卖产品,二流 公司卖服务,一流公司卖标准,sun可能是一流的公司,只是现在被oracle收购了……

 
 javax.servlet.Servlet是一个接口,它定义了这类程序的标准,所有实现使用Servlet程序的服务器必须去实现这一套标准体系, 而我们经常用的tomcat服务器就实现了这样一套标准的体系。
 

GenericServlet 实现了Servlet接口,而他是一个抽象类,而我们编写http协议的程序,一般使用HttpServlet类,它继承了 GenericServlet, 而且HttpServlet类重载了GenericServlet中的 service(ServletRequest,ServletResponse)方法, 将其变成了 service(HttpServletRequest,HttpServletResponse),这样就更符合了web协议的标准, 而它的实现方式 就是简单将ServletRequest和ServletResponse类强制转成了 HttpServletRequest,HttpServletResponse。
 

于 是我们写Servlet程序只需直接继承HttpServlet类即可,并且重写里面的某一个方法就行,一般都是doGet,doPost,不建议重写 service方法,因为service会去判断浏览器到底请求的是哪个方法,然后调用doGet或者doPost,或者其他方法。

由于tomcat实现了servlet这一套标准体系,则在tomcat的lib目录下就一定存在servlet-api.jar文件,这就是tomcat服务器具体实现的servlet这一套体系。

 

二.web服务器程序的结构

1.web程序主目录,记为HelloWorld

2.主目录下必须要有WEB-INF目录,WEB-INF目录下一定有一个符合j2ee标准的web.xml文件,最简单的格式如下:

 

  1. <?xml version="1.0" encoding="ISO-8859-1"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"  
  3.    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  5.    version="2.5">  
  6.   
  7.  </web-app>  

这是最简单的web程序,当然静态的网页暂不讨论

 

3.一般的web程序的WEB-INF目录下还会有classes目录,专门存放编译好的class文件;还会有lib文件夹,存放运行web程序所必需的jar包

 

三.第一个Servlet程序

1.HelloWorldServlet类:

 

  1. package com.servlet;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.ServletException;  
  6. import javax.servlet.http.HttpServlet;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. public class HelloWorldServlet extends HttpServlet {  
  11.   
  12.     @Override  
  13.     protected void doGet(HttpServletRequest request, HttpServletResponse response)  
  14.             throws ServletException, IOException {  
  15.         System.out.println("Hello World!!!");  
  16.     }  
  17.       
  18. }  

2. 将编译好的这个Servlet类的.class文件放入到tomcat的webapps/HelloWorld/WEB-INF/classes目录下, 当然详细目应该是这样的:\webapps\HelloWorld\WEB-INF\classes\com\servlet \HelloWorldServlet.class,应该懂什么意思的

3.有Servlet的class文件还不够,还必须在web.xml文件中配置:

 

  1. <?xml version="1.0" encoding="ISO-8859-1"?>  
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"  
  3.    
posted @ 2013-06-06 08:44  天涯海角路  阅读(180)  评论(0)    收藏  举报