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. 【NOIP模拟】roads(最短路径转最小生成树)

    题目背景 SOURCE:NOIP2016-RZZ-1 题目描述 有 N 个城市,这些城市通过 M 条无向边互相连通,每条边有一个权值 Ci ,表示这条边的长度为 2^(Ci) ,没有两条边的长度是相同 ...

  2. maven:pom.xml中没有dependency标签错误

    dependency的标签是包含在dependencies中的.

  3. Spring源码情操陶冶-AbstractApplicationContext#registerBeanPostProcessors

    承接前文Spring源码情操陶冶-AbstractApplicationContext#invokeBeanFactoryPostProcessors 瞧瞧官方注释 /** * Instantiate ...

  4. 单双引号的区别,defined容易疏忽的小地方

    单双引号的区别(面试题)                    1.双引号可以解析变量,单引号不行                    2.双引号解析转义字符,单引号不解析转义字符.但是单引号能解析 ...

  5. 基于三台主机部署phpwind

    PHPWind(简称:PW)的使命是让网站更具价值,让更多人从网络中享受便利,以提升生活品质. phpwind是一个基于PHP和MySQL的开源社区程序,是国内最受欢迎的通用型论坛程序之一.phpwi ...

  6. 双向循环链表(C语言描述)(一)

    双向循环链表是链表的一种,它的每个节点也包含数据域和指针域.为了方便程序维护,可以单独为数据域定义一种数据类型,这里以整型为例: typedef int LinkedListData; 双向循环链表( ...

  7. python--DenyHttp项目(1)--调用cmd控制台命令os.system()

    os.system() 参数传递cmd命令,命令执行成功返回0,失败返回1 在网上查看使用ping命令,能否Ping通 大神们有 用正则的,有用Popen() os.system()直接用返回值,简单 ...

  8. 阿里消息队列中间件 RocketMQ 源码分析 —— Message 拉取与消费(上)

  9. HTML的基本结构与标签的初步了解

    一.初步了解HTML HTML是一种超文本标签语言,浏览器则是用来"解释和执行"HTML源码的工具. HTML的基本结构 <!DOCTYPE html> <htm ...

  10. 用分治法解决最近点对问题:python实现

    最近点对问题:给定平面上n个点,找其中的一对点,使得在n个点的所有点对中,该点对的距离最小.需要说明的是理论上最近点对并不止一对,但是无论是寻找全部还是仅寻找其中之一,其原理没有区别,仅需略作改造即可 ...