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 ...
随机推荐
- Python面向对象编程(三)
封装 1.为什么要封装? 封装就是要把数据属性和方法的具体实现细节隐藏起来,只提供一个接口.封装可以不用关心对象是如何构建的 2.封装包括数据的封装和函数的封装,数据的封装是为了保护隐私,函数的封装是 ...
- JavaScript语法基础(1)
1.JavaScript是什么? 1)定义: JavaScript「JS」是一种高级的.动态的. 弱类型的.解释型的计算机编程脚本语言. 2)原理: 3)组成: 3大部分: ◆ ECMAScript: ...
- ssh连接异常:read from socket failed connection reset by peer
我出现这个问题的原因是:之前将/etc的权限设为777, 这是一个错误的操作!!然后我把权限修改过来(chmod 400 /etc) 重启服务(/bin/systemctl restart ssh.s ...
- (转)Spring注解完成Bean的定义
使用Spring注解完成Bean的定义 2010-04-21 16:48:54| 分类: spring|举报|字号 订阅 下载LOFTER客户端 通过@Autowired或@Reso ...
- 【javascript】继承
1. js 其实是一个非面向对象的语言,通过对象的深浅复制完成继承 2. 继承方法 继承的方法有两种 1)prototype 原型模式 举个例子 var Animal = function () { ...
- 【javascript】数组的操作
一.常用操作 toString():把数组转换成一个字符串 toLocaleString():把数组转换成一个字符串 join():把数组转换成一个用符号连接的字符串 shift():将数组头部 ...
- iptables中DNAT的配置方法
1.一对一流量完全DNAT 首先说一下网络环境,普通主机一台做防火墙用,网卡两块 eth0 192.168.0.1 内网 eth1 202.202.202.1 外网 内网中一台主机 192.168. ...
- tomcat 与 java web中url路径的配置以及使用规则详情(长期更新)
首先我们看一下在myeclipse中建立的java web项目的结构 在这里我们需要注意这个webroot也就是我们在tomcat里的webapp里面的应用 之所以每一个项目都有这个webroot,是 ...
- 16. leetcode 404. Sum of Left Leaves
Find the sum of all left leaves in a given binary tree. Example: 3 / \ 9 20 / \ 15 ...
- C语言左值,运算符的优先级以及结合性探讨
刚刚开始看一本书.<C陷阱与缺陷>,相信学习C语言的大家都对这本书有耳闻.今天看到了里面的贪心法则.也即在读到一个字符后,尽可能多的读入更多的字符,直到读入的字符组成的字符串已经不可能再组 ...