Servlet使用简介
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-name与url-pattern地址均用的servlet类名。
servlet-class是标识创建的,创建的servlet类所在的全路径名。
servlet-mapping中的 servlet-name需要与其对应的servlet相同,如此才能映射的到, url-pattern就是标识你的请求地址。
2、注解的方式配置地址
使用@WebServlet(“/请求地址”)
使用了注解的情况下不需要配置web.xml
三、重写其中的方法,主要是对service的重写
对servlet的重写根据自己的业务需求,选择处理方法,同样在创建的servlet类中也按照需求操作,在此不做过多赘述。
大家可能会想到,这里的每个类中只能处理一个servlet请求那么,是不是要对每个请求都要创建或继承servlet啊?是的这种方法确实这样。那么有没有什么好的方法呢,那答案必然是有的啦,就是粉装好的框架SpringMvc,对于SpringMvc 的使用之后会做类似总结,欢迎大家关注。
以上 为个人总结,若存在错误或不妥之处,还请各路大佬指点批评。
Servlet使用简介的更多相关文章
- Servlet规范简介——web框架是如何注入到Servlet中的
Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...
- Java Servlet 技术简介
Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...
- java web分享ppt大纲 -- servlet容器简介
今天在公司分享了java web的ppt,把ppt大纲放在这里,希望可以帮助需要的人 servlet容器简介 定义 狭义上的,servlet容器为java Web应用提供运行时环境,负责管理servl ...
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- 【Java】Java Servlet 技术简介
Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么,它们是如何工作的,如何使用它们来创 ...
- Servlet 学习简介
一.Servlet简介 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的 ...
- Servlet规范简介
引言 Web 框架一般是通过一个 Servlet 提供统一的请求入口,将指定的资源映射到这个 servlet, 在这个 servlet 中进行框架的初始化配置,访问 Web 页面中的数据,进行逻辑处理 ...
- Servlet(简介,请求参数,页面跳转,生命周期,创建,配置,ServletContext,线程)
1.Servlet简介 servlet是java servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序, 主要功能在于交互式浏览和修改数据,生成动态的web内容 服务端运行的 ...
- (day20)javaEE三大组件之一Servlet (简介(二)servletconfig,servletContext,session,cookie,request,response,out)
javaEE是服务器编程,javaEE提供了服务器的接口让具体的服务器去创建实现的对象 JavaEE是sun公司为了解决企业级开发定义的一套技术,只提供了规范,具体的实现是由服务器完成的 servle ...
随机推荐
- 如何在Shell中快速切换目录
1.回到上一次进入的路经cd -2.回到Homecd ~3.自动补齐实例,cd /usr/src/redhat,可以用cd /u[TAB]s[TAB]r[TAB]4.!$ 表示上一个命令的最后一个参数 ...
- iOS动画学习-视觉效果
CALayer不仅仅是iOS动画学习-CALayer中介绍的那些内容,他还有一些其他属性,比如shadowColor,borderWidth,borderColor等等,这些属性我们只需要简单点设置就 ...
- MS MDS系列之MDS层次结构(Hierarchy)
在Master Data Services中,Hierarchy的作用主要用于: 对同属性成员进行分组 聚合成员用于分析和报告输出 写在开始:显示层次结构(Explicit Hierarchy)即将在 ...
- Spring阅读方法
转自:http://www.cnblogs.com/xing901022/p/4178963.html 最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验, ...
- 【LeetCode题解】动态规划:从新手到专家(一)
文章标题借用了Hawstein的译文<动态规划:从新手到专家>. 1. 概述 动态规划( Dynamic Programming, DP)是最优化问题的一种解决方法,本质上状态空间的状态转 ...
- 初学Python(二)——数组
初学Python(二)——数组 初学Python,主要整理一些学习到的知识点,这次是数组. # -*- coding:utf-8 -*- list = [2.0,3.0,4.0] #计算list长度 ...
- Java GC - 垃圾回收机制
1.简介 对于Java developer来说,了解JVM GC工作原理能够帮助我们开发出更优秀的应用,同时在处理JVM瓶颈时能够更加自由.在最近一年的应用开发中能体会到这些知识带来的好处,并且让我们 ...
- C# 接口基础学习
什么是接口 接口,在表面上是由几个没有主体代码的方法.属性.索引器.事件,或者它们的组合的集合体,有唯一的名称,可以被类或结构或者其他接口所实现(或者也可以说继承).它在形式上可能是如下的样子: i ...
- java NIO详解
http://zalezone.cn/2014/09/17/NIO%E7%B2%BE%E7%B2%B9/ 1. 前言 我们在写java程序的时候,为了进行优化,把全部的精力用在了处理效率上,但是对IO ...
- JSP和El表达式和JSTL标签库使用
核心标签库: <%@ page language="java" import="java.util.*" pageEncoding="utf-8 ...