学习Servlet

学习完servlet然后写一个关于他它的总结,加深自己的印象,也希望读者能在其中学到点东西

 


HTTP协议
HTTP(Hypertext Transfer Protocol, 超文本传输协议)
    
   1 HTTP是以明文方式发送数据的
    
   2 用于从WWW服务器传输超文本到本地浏览器的传输协议。 是Web应用程序的基础
    
   3 HTTP协议是以TCP/IP为基础的高层协议。
    
   4 现在广泛使用的版本HTTP/1.1

   5 Http的缺省端口是80Http特点是:无状态、无连接

      


Servelet简介

    1 Servlet是服务器小应用程序
 
    2 用来完成B/S架构下,客户端请求的响应处理

    3 平台独立,性能优良,能以线程方式运行

    4 Servlet API为Servlet提供了统一的编程接口

    5 Servlet一般在容器中运行

    常见的Servlet容器
        Tomcat (在此用此容器)
        Jetty / Resin



tomcat启动与停止
    startup.bat
    shutdown.bat
    catalina.bat start
    catalina.bat stop /  shutdown.bat
    catalina debug 调试错误的时候
    run exit help
    设置环境变量JAVA_HOME(启动tomcat失败一般都是环境变量设置有问题)
     


tomcat目录结构

     bin/             二进制可执行文件和脚本
     catalina start stop
     catalina debug run exit
     common/    Catalina本身和web应用可加载的类目录
     conf/           配置文件目录
     logs/           日志目录
     server/        服务器所需的类库目录
     shared/        Web App共享的类库
     webapps/    Web应用所存放的目录applications
     work/           Tomcat的工作目录(存放jsp产生的class文件)
    temp/        存放临时产生的文件



Servlet的生命周期

  生命全过程:
       加载 ClassLoader
       实例化 new
       初始化 init(ServletConfig) 仅执行一次
       处理请求 service doGet doPost
       退出服务 destroy()

只有一个对象


API中的过程:
    init()//只执行一次, 第一次初始化的时候
    public void init(ServletConfig config) throws ServletException
    service()
    public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException
    destroy()//webapp 退出的时候
    public void destroy()

 

 

doGet和doPost的区别:

Get方法:用户数据作为 URL 中的查询字符串传递给服务器,而body中的数据为空
Post方法:用户数据在body中传输给服务器

Get方法所传输的数据量有限制,Post方法则没有限制,当不会修改服务器端的数据时,应该使用 doGet() 方法
Get方法所传输的数据在url中可见,post则不可见,当需要修改服务器端的数据时,应该使用 doPost() 方法

 
Servelet的类层次结构

    Servelet创建的文件默认继承于HTTPServlet
    HttpServlet实现了javax.servlet.GenericServlet接口
    HttpServlet类是专门处理基于HTTP协议的Servlet
   Servlet还可以处理http以外的其他处理请求。

 





posted @ 2015-07-24 11:11  书海沉思  阅读(135)  评论(0编辑  收藏  举报