Serverlet详解

Serverlet详解转载 http blog sina com cn s blog 85f5590f0100 html 现在的 JSP 书籍有的是直接讲述 JSP 的使用 然后再讲解 SERVERLET 的使用 也有书籍是先讲述 SERVERLET 的使用 然后讲解 JSP 使用 个人认为第二种相对好一些 至于

转载:

http://blog.sina.com.cn/s/blog_85f5590f0100wm7q.html

现在的JSP书籍有的是直接讲述JSP的使用,然后再讲解SERVERLET的使用;也有书籍是先讲述SERVERLET的使用,然后讲解JSP使用.个人认为第二种相对好一些,至于原因大家可以在学习体会到!所以今天我们接着学习SERVERLET的使用!

好,废话少说,现在开始!

  1. 什么是Servlet?
    ① Servlet就是JAVA 类
    ② Servlet是一个继承HttpServlet类的类
    ③ 这个在服务器端运行,用以处理客户端的请求



  2. Servlet相关包的介绍
    javax.servlet.* :存放与HTTP 协议无关的一般性Servlet类;
    javax.servlet.http.* :除了继承javax.servlet.*之外,并且还增加与HTTP协议有关的功能。
      (注意:大家有必要学习一下HTTP协议,因为WEB开发都会涉及到)
      所有的Servlet 都必须实现javax.servlet.Servlet 接口(Interface)。
      若Servlet程序和HTTP 协议无关,那么必须继承javax.servlet.GenericServlet类;
      若Servlet程序和HTTP 协议有关,那么必须继承javax.servlet.http.HttpServlet类。
    –HttpServlet :提供了一个抽象类用来创建Http Servlet。
      public void doGet()方法:用来处理客户端发出的GET 请求
      public void doPost()方法:用来处理 POST请求
      还有几个方法大家自己去查阅API帮助文件
    javax.servlet包的接口:
      ServletConfig接口:
    在初始化的过程中由Servlet容器使用
      ServletContext接口:定义Servlet用于获取来自其容器的信息的方法
      ServletRequest接口:向服务器请求信息
      ServletResponse接口:响应客户端请求
      Filter接口:
    –javax.servlet包的类:
      ServletInputStream类

    :用于从客户端读取二进制数据
      ServletOutputStream类:用于将二进制数据发送到客户端
    –javax.servlet.http包的接口:
      HttpServletRequest接口:
    提供Http请求信息
      HttpServletResponse接口:提供Http响应

















  3. Servlet生命周期
    –Servlet生命周期就是指创建Servlet实例后,存在的时间以及何时销毁的整个过程.
    –Servlet生命周期有三个方法
      init()方法
      service()方法:Dispatches client requests to theprotected servicemethod 
      destroy()方法:Called by the servlet container toindicate to a servlet that the servlet is being taken out ofservice.
    –Servlet生命周期的各个阶段
      —-实例化:Servlet容器创建Servlet实例
      —-初始化:调用init()方法
      —-服务:如果有请求,调用service()方法
      —-销毁:销毁实例前调用destroy()方法
      —-垃圾收集:销毁实例











  4. Servlet的基本结构
      

    //下面是导入相应的包

    importjava.io.IOException;

    importjava.io.PrintWriter;

    importjavax.servlet.ServletException;

    importjavax.servlet.http.HttpServlet;

    importjavax.servlet.http.HttpServletRequest;

    importjavax.servlet.http.HttpServletResponse;

    publicclass ServletDemoFirst extends HttpServlet {   

      //用于处理客户端发送的GET请求   

      public void doGet(HttpServletRequest request,HttpServletResponse response)   

        throws ServletException, IOException {   

         response.setContentType(“text/html;charset=GB2312”); //这条语句指明了向客户端发送的内容格式和采用的字符编码.  

         PrintWriter out = response.getWriter();    

         out.println(” 您好!”); //利用PrintWriter对象的方法将数据发送给客户端  

         out.close();   

      }  

      //用于处理客户端发送的POST请求   

      public void doPost(HttpServletRequest request,HttpServletResponse response)   

        throws ServletException, IOException {   

        doGet(request,response); //这条语句的作用是,当客户端发送POST请求时,调用doGet()方法进行处理   

      }

    }


    package cn.dragon.servlet;

  5. Servlet的部署
      



       

    任意

       

    任意

       

    ServletDemoFirst

       

    cn.dragon.servlet.ServletDemoFirst







     


       

    ServletDemoFirst

       

    /servlet/ServletDemoFirst







    【注意】

      ① 上面的两个
    必须相同
      ② 

    后面指在对应的类上面.  技巧:你可以直接在你的servlet类中复制过来,这样可以避免出错!

      ③ 

     必须是
    /servlet再加servlet名字.大家现在就这么记.




    以下截取部分

  6. Servlet实例演示

    web.xml文件


    package cn.dragon.servlet;

 现在的JSP书籍有的是直接讲述JSP的使用,然后再讲解SERVERLET的使用;也有书籍是先讲述SERVERLET的使用,然后讲解JSP使用.个人认为第二种相对好一些,至于原因大家可以在学习体会到!所以今天我们接着学习SERVERLET的使用!

好,废话少说,现在开始!

  1. 什么是Servlet?
    ① Servlet就是JAVA 类
    ② Servlet是一个继承HttpServlet类的类
    ③ 这个在服务器端运行,用以处理客户端的请求



  2. Servlet相关包的介绍
    javax.servlet.* :存放与HTTP 协议无关的一般性Servlet类;
    javax.servlet.http.* :除了继承javax.servlet.*之外,并且还增加与HTTP协议有关的功能。
      (注意:大家有必要学习一下HTTP协议,因为WEB开发都会涉及到)
      所有的Servlet 都必须实现javax.servlet.Servlet 接口(Interface)。
      若Servlet程序和HTTP 协议无关,那么必须继承javax.servlet.GenericServlet类;
      若Servlet程序和HTTP 协议有关,那么必须继承javax.servlet.http.HttpServlet类。
    –HttpServlet :提供了一个抽象类用来创建Http Servlet。
      public void doGet()方法:用来处理客户端发出的GET 请求
      public void doPost()方法:用来处理 POST请求
      还有几个方法大家自己去查阅API帮助文件
    javax.servlet包的接口:
      ServletConfig接口:
    在初始化的过程中由Servlet容器使用
      ServletContext接口:定义Servlet用于获取来自其容器的信息的方法
      ServletRequest接口:向服务器请求信息
      ServletResponse接口:响应客户端请求
      Filter接口:
    –javax.servlet包的类:
      ServletInputStream类

    :用于从客户端读取二进制数据
      ServletOutputStream类:用于将二进制数据发送到客户端
    –javax.servlet.http包的接口:
      HttpServletRequest接口:
    提供Http请求信息
      HttpServletResponse接口:提供Http响应

















  3. Servlet生命周期
    –Servlet生命周期就是指创建Servlet实例后,存在的时间以及何时销毁的整个过程.
    –Servlet生命周期有三个方法
      init()方法
      service()方法:Dispatches client requests to theprotected servicemethod 
      destroy()方法:Called by the servlet container toindicate to a servlet that the servlet is being taken out ofservice.
    –Servlet生命周期的各个阶段
      —-实例化:Servlet容器创建Servlet实例
      —-初始化:调用init()方法
      —-服务:如果有请求,调用service()方法
      —-销毁:销毁实例前调用destroy()方法
      —-垃圾收集:销毁实例











  4. Servlet的基本结构
      

    //下面是导入相应的包

    importjava.io.IOException;

    importjava.io.PrintWriter;

    importjavax.servlet.ServletException;

    importjavax.servlet.http.HttpServlet;

    importjavax.servlet.http.HttpServletRequest;

    importjavax.servlet.http.HttpServletResponse;

    publicclass ServletDemoFirst extends HttpServlet {   

      //用于处理客户端发送的GET请求   

      public void doGet(HttpServletRequest request,HttpServletResponse response)   

        throws ServletException, IOException {   

         response.setContentType(“text/html;charset=GB2312”); //这条语句指明了向客户端发送的内容格式和采用的字符编码.  

         PrintWriter out = response.getWriter();    

         out.println(” 您好!”); //利用PrintWriter对象的方法将数据发送给客户端  

         out.close();   

      }  

      //用于处理客户端发送的POST请求   

      public void doPost(HttpServletRequest request,HttpServletResponse response)   

        throws ServletException, IOException {   

        doGet(request,response); //这条语句的作用是,当客户端发送POST请求时,调用doGet()方法进行处理   

      }

    }


    package cn.dragon.servlet;

  5. Servlet的部署
      



       

    任意

       

    任意

       

    ServletDemoFirst

       

    cn.dragon.servlet.ServletDemoFirst







     


       

    ServletDemoFirst

       

    /servlet/ServletDemoFirst







    【注意】

      ① 上面的两个
    必须相同
      ② 

    后面指在对应的类上面.  技巧:你可以直接在你的servlet类中复制过来,这样可以避免出错!

      ③ 

     必须是
    /servlet再加servlet名字.大家现在就这么记.




    以下截取部分

  6. Servlet实例演示

    web.xml文件


    package cn.dragon.servlet;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218913.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:11
下一篇 2026年3月17日 下午11:11


相关推荐

  • ubantu 添加防火墙策略_ubuntu防火墙设置

    ubantu 添加防火墙策略_ubuntu防火墙设置UBUNTU 默认提供了一个非常优秀的防火墙工具 UFW UFW 防火墙是一个主机端的 iptables 类防火墙配置工具 这个工具的目的是提供给用户一个可以轻松驾驭的界面 就像包集成和动态检测开放的端口一样 1 ubuntu 中的端口的开放和屏蔽 ufwdefaultal deny sudoufwallow 开放 22 端口 sudoufwdeny2 屏蔽 22 端口 sudou

    2026年3月18日
    2
  • LoRaWAN随记

    LoRaWAN随记一 LoRaWAN 是什么 LoRaWAN 是由 LoRa 联盟负责制定的基于 LoRa 的低功耗广域网 采用星型拓扑结构 它能提供一个 低功耗 可扩展 高服务质量 安全的长距离无线网络 低功耗 节点只有在发送消息和打开接收窗口时耗能 其他时间处于休眠状态 可扩展 可以通过添加网关来增加网络容量 高的服务质量 节点和 NS 都有消息的重传机制 安全 节点入网以后通信会加密 跳频长距离 扩频技术的加

    2026年3月26日
    2
  • frp内网映射_路由直接frp服务端

    frp内网映射_路由直接frp服务端第一步:云服务器上域名解析添加(前提是有域名已经备案)这里有对应操作截图文件第二步:下载服务器管理软件FinalShellSSH工具:http://www.hostbuf.com/c/131.html必备条件:java配置好,它依赖于java环境第三步:下载frp内网穿透软件(服务器和客户端的均要下载哦)简单配置介绍:https://www.xyzbeta.com/460………

    2025年11月14日
    7
  • FDD/TDD协同优化

    FDD/TDD协同优化一、 概述目网络面临上行用户体验容量差、深度覆盖不足、热点区域巨大容量需求三重挑战,随着FDD网络大规模部署的日益临近,TD-LTE和LTEFDD融合组网将是4G无线网络未来的演进方向,可以充分激发TDD/FDD两种制式网络的潜力,实现优势互补,最大化资源承载效率,获得最佳网络性能。二、 FDD部署情况XX移动FDD分布于900MHz和1800MHz两个频段,900MHz频段具备频率低、覆…

    2022年6月1日
    40
  • 百度文心一言API使用指南:非技术人员入门教程

    百度文心一言API使用指南:非技术人员入门教程

    2026年3月12日
    2
  • 一步设置Intellij IDEA 热部署处理方法

    一步设置Intellij IDEA 热部署处理方法  在IntellijIDEA中默认是关闭了自动编译的,可以按照如下1步设置开启自动编译:1.IDEA开启项目自动编译,进入设置,Build,Execut,Deployment->Compiler勾选中左侧的BuildProjectautomatically   …

    2022年6月1日
    82

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号