Servlet的使用基本包含三个步骤:

1、继承HttpServlet 或实现Servlet 接口 (根据源码分析最终都是对servlet接口的实现)

2、配置地址: 配置web.xml 或者用注解的方式@WebServlet("/")

3、重写service方法

Servlet使用的几种基本方法及其比较

一、实现servlet接口,继承GenericServlet,继承HttpServlet,创建servlet类

个中区别:

1、Servlet接口的实现

其中接口要实现的方法有以下几个:

1)init(ServletConfigconfig)初始化根据servlet的配置进行初始化

2)、getServletConfig()  获取servlet配置,其返回值就是servletContext

3)、service(ServletRequestrequest, ServletResponse respose) service方法,解决处理逻辑以及业务的实现

4)、getServletInfo() 其返回得到的是servlet的描述信息

5)、destroy()使用结束的销毁

其中主要用到的是service(),其中service方法的参数request和respose是由服务器解析请求页面传过来的参数。当然request以及response涉及到很多的方法,此就不做过多解释,大家可以自己自己使用过程中了解总结。

2、继承GenericServlet

    

public abstract class GenericServlet      implements Servlet, ServletConfig, java.io.Serializable

可以看出GenericServlet其实是接口了servlet,并且对servlet实现方法中的service进行了抽象,这样在继承GenericServlet时只需要实现service方法就足够了,这样对于简单的逻辑开发就节省了很多代码量,也方便使用。

3、继承HttpServlet   推荐使用

HttpServlet其实就是对GenericServlet类的继承,使用时需要重写service方法,在此就不多赘述。

4、创建servlet类  推荐使用

既然servlet适用范围很广,使用范围大,那么开发者就为其创建了更加简单的使用方法,直接创建使用,这种方式也是比较推荐的方法,创建出来之后大家可以看到其又继承了HttpServlet,所以我们可以说其归根到底还是在实现servlet接口。

      (创建servle类,若new没有那么就在Other中找一下)

    

  //类声明之上是注解的方法,指定对应请求地址

              @WebServlet("/ServletTest")

             publicclass ServletTest extends HttpServlet {

               //因为在HttpServlet中接口了序列化,因此在这声明了一个序列化Id,可删

                private static final long serialVersionUID = 1L;

               //构造函数

                 public ServletTest() {

                      super();

                  }

              //值得一提的是其将service方法拆分,这里分为doGet() 和 doPost方法分别处理请求中doGet或doPost请求,但逻辑处理时基本不分。

             protectedvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                   response.getWriter().append("Served at: ").append(request.getContextPath());

              }

               protectedvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

                 //这里将doPost请求转到doGet处理,所以若非业务需要完全可以在doGost只写一套处理逻辑  

                   doGet(request, response);

             }

         }

二、配置地址,其中配置地址有两种方式。

1、web.xml配置

在生成动态web项目时都会相应的产生web.xml,其中需要使用servlet时就要对其配置,其基本配置如下:

  <servlet>

     <servlet-name>myServlet</servlet-name>

     <servlet-class>com.lh.c8.n7.MyServlet</servlet-class>

   </servlet>

   <servlet-mapping>

     <servlet-name>myServlet</servlet-name>

     <url-pattern>/MyServlet</url-pattern>

   </servlet-mapping>

其中servlet标签中用servlet-name是设置的servlet标签名,可自由设置,但不可重复,在创建web项目时2.5版本之前直接创建servlet类时会直接生成响应的web.xml配置

servlet-nameurl-pattern地址均用的servlet类名。

servlet-class是标识创建的,创建的servlet类所在的全路径名。

servlet-mapping中的 servlet-name需要与其对应的servlet相同,如此才能映射的到, url-pattern就是标识你的请求地址。

2、注解的方式配置地址

使用@WebServlet(“/请求地址”)

使用了注解的情况下不需要配置web.xml

三、重写其中的方法,主要是对service的重写

对servlet的重写根据自己的业务需求,选择处理方法,同样在创建的servlet类中也按照需求操作,在此不做过多赘述。

大家可能会想到,这里的每个类中只能处理一个servlet请求那么,是不是要对每个请求都要创建或继承servlet啊?是的这种方法确实这样。那么有没有什么好的方法呢,那答案必然是有的啦,就是粉装好的框架SpringMvc,对于SpringMvc 的使用之后会做类似总结,欢迎大家关注。

以上 为个人总结,若存在错误或不妥之处,还请各路大佬指点批评。

Servlet使用简介的更多相关文章

  1. Servlet规范简介——web框架是如何注入到Servlet中的

    Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...

  2. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  3. java web分享ppt大纲 -- servlet容器简介

    今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...

  4. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. 【Java】Java Servlet 技术简介

    Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创 ...

  6. Servlet 学习简介

    一.Servlet简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的 ...

  7. Servlet规范简介

    引言 Web 框架一般是通过一个 Servlet 提供统一的请求入口,将指定的资源映射到这个 servlet, 在这个 servlet 中进行框架的初始化配置,访问 Web 页面中的数据,进行逻辑处理 ...

  8. Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)

    1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...

  9. (day20)javaEE三大组件之一Servlet (简介(二)servletconfig,servletContext,session,cookie,request,response,out)

    javaEE是服务器编程,javaEE提供了服务器的接口让具体的服务器去创建实现的对象 JavaEE是sun公司为了解决企业级开发定义的一套技术,只提供了规范,具体的实现是由服务器完成的 servle ...

随机推荐

  1. MS MDS系列之初始MS Master Data Service(微软主数据服务)

    背景介绍: 主数据服务(Master Data Services)是微软平台支持的主数据管理(MDM)平台.类似MDS这样的系统,如果后续维护得当,会给企业提供一个强大的中心数据库系统,来防止企业数据 ...

  2. 点击<tr>表格行元素进行跳转

    意外发现table中利用<a>标签控制tr的行为无效. 尝试<a>标签在table中的使用,只有在<td><a href="">&l ...

  3. C#中的数据类型转换

    数据类型在一定的条件下是可以相互转换的,如将int型数据转换成double型数据.C#允许使用两种转换方式:隐式转换和显式转换. 1.隐式转换 隐式转换:从类型A到类型B的转换可以在所有情况下进行,执 ...

  4. angularjs 选项卡tab切换(移动端用户订单状态)

    <!--头部导航tabs切换--> <div class="tabs-striped tabs-top tabs-background-positive tabs-colo ...

  5. HA分布式集群二hive配置

    一,概念 hive:是一种数据仓库,数据储存在:hdfs上,hsql是由替换简单的map-reduce,hive通过mysql来记录映射数据 二,安装 1,mysql安装: 1,检测是否有mariad ...

  6. [Android FrameWork 6.0源码学习] View的重绘过程之Layout

    View绘制的三部曲,测量,布局,绘画现在我们分析布局部分测量部分在上篇文章中已经分析过了.不了解的可以去我的博客里找一下 View的布局和测量一样,都是从ViewRootImpl中发起,ViewRo ...

  7. Social Network Analysis的Centrality总结,以及networkx实现EigenCentrality,PageRank和KatzCentrality的对比

    本文主要总结近期学习的Social Network Analysis(SNA)中的各种Centrality度量,我暂且翻译为中心度.本文主要是实战,理论方面几乎没有,因为对于庞大的SNA,我可能连门都 ...

  8. seajs的模块化开发--实践笔记

    2017-04-02 SeaJS是一个遵循CMD规范的JavaScript模块加载框架,可以实现JavaScript的模块化开发及加载机制.有效的解决复杂项目中命名冲突.依赖.性能等问题. SeaJS ...

  9. UICollectionView基本使用详解(OC)

    概述 UICollectionView是从iOS6开始引入使用的,目前应用非常广泛,很牛逼!老外的博客也是这么说的(传送门) ## 与UITableView的初步比较 UITableView应该是大家 ...

  10. hdu 6093---Rikka with Number(计数)

    题目链接 Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, s ...