“HttpServlet类被定义为抽象类,但是源码里面没有抽象方法。所以没有一定要求实现的方法。之所以定义为抽象类,是因为他继承了GenericServlet这个抽象类。并没有全部实现里面的方法”   那我们自己写的servlet里面不要实现GenericServlet这个抽象类中的方法?

直接使用,不用填充抽象方法。

为什么不用填充?

总的来说,大概如下.

容器会调用你注册好的支持servlet接口的类.容器会自己new它

然后每次有请求来的时候会根据请求类型调用你这个类的get post head...方法, 在调用方法的时候会传递 response,request对象.

而这些调用过程中,可能会存在不同厂家的容器,那自然要用接口来统一,否则你搞你的,我搞我的,那就乱套了. 举例如下:

 建立一个新类:

NewServlet继承HttpServlet(必须如此)

然后给此类加上注解,@WebServlet(urlPatterns = {"/NewServlet"}) (你也可在web.xml里面去注册,效果一样,看自己爱好)



然后每次容器碰到有人访问 /NewServlet 这个路径的时候,就会根据请求方法调用你这个类的doGet doPost....等等方法 而你自己在这些方法中写自己的代码,例如输出 hello world什么的. 当然第一次访问的时候会自动new此类,并且保存在容器中。

所以此类只能由容器调用,不能自己new它,你自己new个instance出来,没有任何用处,因为容器自动实例newservlet的时候会给其设置很多参数,而且每次调用其处理方法时还要传递兼容servletresponse,servletrequest接口的对象,你自己new instance谁给你传递对象啊.

直接注册HttpServet没有用处,其实把HttpServet理解成事件监听类就可以了,专门监听url访问请求.


xxxservlet继承HttpServlet类的更多相关文章

  1. Servlet-通过继承HttpServlet类实现Servlet程序

    通过继承HttpServlet类实现Servlet程序(开发一般用) 一般在实际项目开发中,都是使用继承 HttpServlet类的方式实现Servlet程序 1,编写一个类去继承 HttpServl ...

  2. 编写一个Filter,除继承HttpServlet类外还需要( )。

    A.继承Filter 类 B.实现Filter 接口 C.继承HttpFilter 类 D.实现HttpFilter接口 解答:B

  3. Eclipse操作Servlet入门案例,创建类无法实现Servlet接口和继承HttpServlet类

    问题描述: 从昨天下午到今天中午,这个问题被缠绕了良久.百度了很多,却都没有一言命中要害. 首先,还是基于对Web的理解. 第一:建立的是Dynamic  Web   Project: 第二:然后需要 ...

  4. Servlet接口、GenericServlet类、HttpServlet类

    Servlet是最顶层的接口,其提供的方法有: init(ServletConfig config):void // 初始化 getServletConfig():ServletConfig // 取 ...

  5. 【HttpServlet】HttpServlet类

    创建时间:6.15 HttpServlet 但在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多,    我们一般创建类继承HttpServlet 实现步骤: 1)创建类继 ...

  6. java一个类 继承HttpServlet 和实现Servlet区别

    java一个类 继承HttpServlet 和实现Servlet区别 servlet 是一个接口,如果实现这个接口,那么就必须实现接口里面定义的所有方法 而HttpServlet实现了servlet接 ...

  7. HelloServlet类继承HttpServlet利用HttpServletResponse对象

    HelloServlet类继承HttpServlet利用HttpServletResponse对象 HelloServlet类的doGet()方法先得到username请求参数,对其进行中文字符编码转 ...

  8. BaseServlet 继承 httpServlet

    BaseServlet   核心 package cn.core; import java.io.IOException; import java.lang.reflect.Method; impor ...

  9. httpservlet类中两个service方法

    在浏览器访问html页面时,当数据提交给servlet时发生了什么,这是我们需要了解的. 1.我们需要了解一下servlet的继承体系. servlet接口 ------->GenericSer ...

随机推荐

  1. Javascript网页截屏的方法

    最近我在研究开发一个火狐插件,具体的功能是将网页内容截屏并分享到微博上.目前基本功能已经实现,大家可以在 @程序师视野 里看到用这个截图插件分享的微博的效果. 之前我曾写过如何将canvas图形转换成 ...

  2. html-loldemo

    百度版lol百科小样 <!DOCTYPE html> <html lang="en"> <head> <title>英雄联盟百科&l ...

  3. [转]C++11 标准新特性:Defaulted 和 Deleted 函数

    http://www.ibm.com/developerworks/cn/aix/library/1212_lufang_c11new/

  4. CSRF学习笔记之CSRF的攻击与防御以及审计【00x3】

    Hight.php完整代码如下: <?php if (isset($_GET['Change'])) { // Turn requests into variables $pass_curr = ...

  5. Android Studio无法启动,gradle下载不了 提示“building “ 项目名”gradle project info”

    Google在2013年I/O大会上发布了Android Studio,AndroidStudio是一个基于IntelliJ思想的新的Android开发工具.下面介绍一下Android Studio安 ...

  6. import _mysql----ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

    背景:安装了mysql,练习sql 操作,提示 ImportError DLL load failed: %1 不是有效的 Win32 应用程序 解决方法: 操作系统win10,64位,查看安装的my ...

  7. js定时器(执行一次、重复执行)

    代码如下: <script> //定时器 异步运行 function hello(){ alert("hello"); } //使用方法名字执行方法 var t1 = ...

  8. Django 最佳实践

    不错的Django实践规范,转自Github: https://github.com/brantyoung/zh-django-best-practices/blob/master/readme.rs ...

  9. 详略。。设计模式2——单例变形(多例).。。。studying

    ★ 缓存在单例中的使用("单例+缓存"技术) 缓存在编程中使用非常频繁,有着非常关键的数据,它可以帮助程序实现以空间换取时间, 通常被设计成整个应用程序所共享的一个空间,现要求实现 ...

  10. JS语法快速查询

    本文转载至 http://wenku.baidu.com/link?url=z4gND-0w-Cq7hkn2Vnnz0CAJJPwJ8jJrFY0jtnnACiaz4yMK49VAvfJ3BlTVcm ...