JSP/SERVLET入门教程--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 the protected service method 

      destroy()方法:Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.

    --Servlet生命周期的各个阶段

      ----实例化:Servlet容器创建Servlet实例

      ----初始化:调用init()方法

      ----服务:如果有请求,调用service()方法

      ----销毁:销毁实例前调用destroy()方法

      ----垃圾收集:销毁实例

  4. Servlet的基本结构

      


    package cn.dragon.servlet;

    //下面是导入相应的包

    import java.io.IOException;

    import java.io.PrintWriter;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    /**

    * 这是第一个Servlet的例子

    * @author cn.dragon

    */

    public class 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()方法进行处理   

      }

    }

  5. Servlet的部署

      


    以下截取部分

    <servlet>

    <description>任意</description>

    <display-name>任意</display-name>

    <servlet-name>ServletDemoFirst</servlet-name>

    <servlet-class>cn.dragon.servlet.ServletDemoFirst</servlet-class>

    </servlet>

     <servlet-mapping>

    <servlet-name>ServletDemoFirst</servlet-name>

    <url-pattern>/servlet/ServletDemoFirst</url-pattern>

    </servlet-mapping>

    【注意】

      ① 上面的两个<servlet-name>必须相同

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

      ③ <url-pattern> 必须是/servlet 再加servlet名字.大家现在就这么记.

  6. Servlet实例演示

    package cn.dragon.servlet;

    import java.io.IOException;

    import java.io.PrintWriter;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    public class ServletDemoSecond extends HttpServlet {

      //初始化

      public void init() throws ServletException {

        System.out.println("我是init()方法!用来进行初始化工作");

      }

      //处理GET请求

      public void doGet(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

        System.out.println("我是doGet()方法!用来处理GET请求");

        response.setContentType("text/html;charset=GB2312");

        PrintWriter out = response.getWriter();

        out.println("<HTML>");

        out.println("<BODY>");

        out.println("这是Servlet的例子");

        out.println("</BODY>");

        out.println("</HTML>");

      }

      //处理POST请求

      public void doPost(HttpServletRequest request, HttpServletResponse response)

      throws ServletException, IOException {

        doGet(request, response);

      }

      //销毁实例

      public void destroy() {

        super.destroy();

        System.out.println("我是destroy()方法!用来进行销毁实例的工作");

      }

    }

    web.xml文件

    <?xml version="1.0" encoding="UTF-8"?>

    <web-app version="2.4"

      xmlns="http://java.sun.com/xml/ns/j2ee"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

       http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>

    <servlet-name>ServletDemoSecond</servlet-name>

    <servlet-class>cn.dragon.servlet.ServletDemoSecond</servlet-class>

    </servlet>

    <servlet-mapping>

    <servlet-name>ServletDemoSecond</servlet-name>

    <url-pattern>/servlet/ServletDemoSecond</url-pattern>

    </servlet-mapping>

    </web-app>

时间: 2024-08-18 03:12:32

JSP/SERVLET入门教程--Servlet 使用入门的相关文章

影视动画 Premiere视频教程 AE CS5专业入门教程 绘声绘影X6入门提高 3DS MAX三维动画教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

影视动画Premiere视频教程 AE CS5专业入门教程 绘声绘影X6入门提高 3DS MAX三维动画教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

spring mvc入门教程(快速入门,深入分析)

目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.spring mvc 如何访问到静态的文件,如jpg,js,css 八.spring mvc 请求如何映射到具体的Action中的方法 九.spring mvc 中的拦截器: 十.spring mvc 如何使用拦截器 十一.sprin

学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)

一.前言         早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档.发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基础的角度上进行介绍,让我这初学者看的云里雾里不知所云.于是又去查看maven 的官方网站,总算是有所了解,但一旦动手实际操作却又雾里看花.唉,没办法,就只有一遍一遍的动手尝试,经过种 种磨难总算是有一点眉目了.现在就将我的经验写出来,一来避免将来遗忘,二来也给和我一样的菜鸟们提供一点点的方便.呵呵.

[转发]学习maven的使用,看到一篇很实用的入门教程(菜鸟级入门)

一.前言        早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档.发现这些文档的作者都是java 的大腕,大多都是站在掌握了一定maven 基础的角度上进行介绍,让我这初学者看的云里雾里不知所云.于是又去查看maven 的官方网站,总算是有所了解,但一旦动手实际操作却又雾里看花.唉,没办法,就只有一遍一遍的动手尝试,经过种种磨难总算是有一点眉目了.现在就将我的经验写出来,一来避免将来遗忘,二来也给和我一样的菜鸟们提供一点点的方便.呵呵.本文

linux 入门教程

linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统的远程登录 第六章 Linux文件与目录管理 第七章 Linux系统用户以及用户组管理 第八章 Linux磁盘管理 第九章 文本编辑工具vim 第十章 文档的压缩与打包 第十一章 安装RPM包或者安装源码包 第十二章 学习shell脚本之前的基础知识 第十三章 正则表达式 第十四章 SHELL 脚本

AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

程序设计C语言二级考试教程 Java基础视频教程 安卓软件开发教程 Unity3D游戏制作入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

Nginx教程(一) Nginx入门教程

Nginx教程(一) Nginx入门教程 1 Nginx入门教程 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好. 1.1 Nginx下载安装 1.Nginx下载:nginx-1.13.0.tar.g

Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)

Scrapy在window上的安装教程见下面的链接:Scrapy安装教程 上述安装教程已实践,可行.本来打算在ubuntu上安装Scrapy的,但是Ubuntu 磁盘空间太少了,还没扩展磁盘空间,暂时不想再上面装太多软件. Scrapy的入门教程见下面链接:Scrapy入门教程 上面的入门教程是很基础的,先跟着作者走一遍,要动起来哟,不要只是阅读上面的那篇入门教程,下面我简单总结一下Scrapy爬虫过程: 1.在Item中定义自己要抓取的数据: movie_name就像是字典中的“键”,爬到的数