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 ...
随机推荐
- maven依赖jar包更新,业务jar需同步更新(业务jar依赖API)
背景: 环境出现问题,定位为依赖jar缺失,修改工程pom文件补充依赖jar. 更新要点说明: 依赖jar,更新提交 业务jar,也需更新提交:maven构建会把依赖jar引用进去,更新环境如果单独更 ...
- Hibernate--inverse属性与cascade属性
转载:http://www.cnblogs.com/otomedaybreak/archive/2012/01/17/2324772.html Hibernate 集合映射中,经常会使用到" ...
- Java GC - 监控回收行为与日志分析
1. 简介 在上一篇介绍<Java GC - 垃圾回收机制>, 本文将介绍如何监控 Javc GC 行为,同时涉及一些GUI工具的使用(虽然有些已经很老并不再更新),监控GC在于判断JVM ...
- springMVC 中几种获取request和response的方式
1.最简单方式:参数 例如: @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequ ...
- Social Network Analysis的Centrality总结,以及networkx实现EigenCentrality,PageRank和KatzCentrality的对比
本文主要总结近期学习的Social Network Analysis(SNA)中的各种Centrality度量,我暂且翻译为中心度.本文主要是实战,理论方面几乎没有,因为对于庞大的SNA,我可能连门都 ...
- 深度学习:Keras入门(二)之卷积神经网络(CNN)
说明:这篇文章需要有一些相关的基础知识,否则看起来可能比较吃力. 1.卷积与神经元 1.1 什么是卷积? 简单来说,卷积(或内积)就是一种先把对应位置相乘然后再把结果相加的运算.(具体含义或者数学公式 ...
- private static final long serialVersionUID = 1L;详解
public class User implements Serializable { /** * serialVersionUID */ private static final long seri ...
- js复习---string
对js的string的方法复习: 1.charCodeAt() 返回一个整数,代表指定位置字符串的unicode编码. strObj.charCodeAt(index) index 是处理字符的从零 ...
- MapReduce编程之Reduce Join多种应用场景与使用
在关系型数据库中 Join 是非常常见的操作,各种优化手段已经到了极致.在海量数据的环境下,不可避免的也会碰到这种类型的需求, 例如在数据分析时需要连接从不同的数据源中获取到数据.不同于传统的单机模式 ...
- [vijos NOIP模拟题]天神下凡 贪心+搜索
样例: 考试的时候没时间打了,随便敲了敲就交上去了,没想到竟然编译错误,忘定义n了23333 自己测了测能骗20分hhhh 考虑每个圆对答案的贡献,当一个圆被小圆内切的时候,分成了两半,对答案的贡献就 ...