Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。指任何实现了这个Servlet接口的类或者实现Servlet接口的类,当然或者实现接口继承方法的的类。Servlet是一个特殊的Java类。

其实就是运行在服务器上的java类,但是没有main方法。servlet中的方法由服务器在相应情况下调用执行,比如Tomcat服务器上的servlet,当浏览器发出请求并且请求方式为GET时,被请求的servlet的doGet方法就会被Tomcat或者其他服务器调用执行。

因为这些服务器软件能监听http请求,解析http头信息,头信息里写有用户想看你的哪个页面,然后这些软件再打开你的程序对应的页面跑一下得出结果再返回给用户。
要是你写的web程序把这个监听的东西也写上,可以不用依赖tomcat等软件的,只要符合http协议的过程。tomcat也是完全有java编写而成的,由大量的类构成。

Servlet是JavaWeb三大组件之一(Servlet、Filter、Listener)
Servlet是用来处理客户端请求的动态资源
Servlet的任务有:
获取请求数据
处理请求
完成响应

1.实现一个Servlet有三种方式

实现javax.servlet.Servlet接口;

继承javax.servlet.GenericServlet类;

继承javax.servlet.http.HttpServlet类;继承与javax.servlet.GeneticServlet

2.配置Servlet的主要标签

<servlet>

<servlet-name></servlet-name>

<servlet-class></servlet-class>

</servlet>

<servlet-mapping>

<servlet-name></servlet-name>

<url-pattern></url-pattern>

</servlet-mapping>

3.servlet的生命周期

实例化:服务器进行servlet的实例化(一次)Servlet是在第一次被访问时由服务器创建的。(通过配置文件 找到类,再通过反射机制,单例模式,创建唯一一个servlet对象)。

初始化:服务器调用servlet的init方法进行初始化。(一次)在Servlet被创建后,服务器会马上调用Servlet的void init(ServletConfig)方法。

请求的处理:服务器调用servlet的service方法,然后根据请求方式调用doXXX方法(多次)当服务器每次接收到请求时,都会去调用Servlet的service()方法来处理请求。

服务终止:服务器调用servlet的destroy方法销毁servlet实例。(一次)在服务器被关闭时,服务器会去销毁Servlet。

与servlet生命周期有关的三个方法

void init(ServletConfig);

  void service(ServletRequest,ServletResponse);

   void destroy();

4.servlet初始化参数的配置和使用

<servlet>

<init-param>

<param-name>key</param-name>

<param-value>value</param-value>

</init-param>

</servlet>

初始化参数的使用:

一般在Servlet的init方法中使用config对象的getInitParameter(String key)方法来获取初始化参数。

上下文参数的配置:

<web-app>

<context-param>

<param-name>key</param-name>

<param-value>value</param-value>

</context-param>

</web-app>

上下文参数的使用:

在Servlet中先通过getServletContext()方法获得ServletContext对象,然后调用

该对象的getInitParameter(String key)方法获得上下文参数。

6.高效率,线程不安全

servlet到底是什么?的更多相关文章

  1. servlet是什么?servlet到底是啥?

    #说实话 这个鬼servlet我听说过它好多年了,但是我真的不知道它到底是干啥用的.内心里总觉得这是个很复杂的,绝对是让人难以理解的东西,我真的感觉自己很抗拒它,不想知道,不想去了解.可是我还是不得不 ...

  2. Servlet到底是单例还是多例你了解吗?

    为一个Java Web开发者,你一定了解和学习过Servlet.或许还曾在面试中被问到过Servelt是单例还是多例这个问题. 遇到这个问题,你是否曾深入了解过,还是百度或者Google了一下,得到答 ...

  3. Servlet和JAVA BEAN 分析探讨

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean   />调用Jav ...

  4. 浅谈JavaWEB入门必备知识之Servlet入门案例详解

    工欲善其事.必先利其器,想要成为JavaWEB高手那么你不知道servlet是一个什么玩意的话,那就肯定没法玩下去,那么servlet究竟是个什么玩意?下面,仅此个人观点并通过一个小小的案例来为大家详 ...

  5. servlet与Javabean之间的区别

    在JSP中调用JAVA类和使用JavaBean有什么区别? 可以像使用一般的类一样使用JavaBean,Bean只是一种特殊的类.特殊在可以通过<jsp:useBean/>调用JavaBe ...

  6. 浅谈Tomcat和Servlet

    本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...

  7. JavaWeb开发之详解Servlet及Servlet容器

    自JavaEE诞生伊始,Servlet容器和Servlet技术,就构成了JavaEE应用的核心,配合其它组件,它们完善了Java企业级开发的全套解决方案.小到一个静态博客网站,大到分布式的集群应用,都 ...

  8. 以登录实现理解Servlet+jsp+JavaBean开发

    写在前面:菜鸟拙见,望请纠正 学过servlet的都知道,书本上一直说servlet一直作为控制器使用,它不实现view层,也不做具体的事务处理,那servlet到底是干什么的哪?怎么合理的用它呐?? ...

  9. Web基础之Servlet

    Servlet Servlet : server applet,直译服务小程序.那Servlet到底是什么呢? Servlet说白了其实就是一个接口,接口的作用是什么?规范呗,这个接口规定了下面三个问 ...

随机推荐

  1. depot用例视图建模

    1. 确定系统涉及的内容 图书馆管理系统有以下模块构成:系统登陆模块.图书馆管理模块.学生管理模块.借阅信息管理模块.图书检索模块. 2. 分析系统参与者 确定参与者首先分析系统涉及的问题领域 和 系 ...

  2. 51nod 1138 连续整数的和(数学公式)

    1138 连续整数的和 #include <iostream> #include <cmath> #include <cstdio> using namespace ...

  3. zTree+EasyUi做权限遇到的小问题

    最近需要做一个zTree+EasyUi的权限管理系统,以前有过接触,在做这一块时,用到了ztree,树来加载咱们的菜单栏,后台获取登录用户信息的权限列表,转换成json对象来加载到咱们的树当中,代码如 ...

  4. 轻量级ORM框架 Dapper快速学习

    好在有师兄师姐一起带着做,所以开始没那么困难,但是由于大学涉猎范围有限,往往有很尴尬的时候,不懂构造方法重载,去“请教”,本来以为师兄会帮忙写好,结果“我念,你来写”,被深深的激励了一把,后来就早出晚 ...

  5. DOM 事件

    1.注册事件 // 事件处理函数 function handleMouseOver(event) { // process ...... } p.addEventListener("mous ...

  6. SAS提供的机器学习算法

    SAS graphical user interfaces help you build machine-learning models and implement an iterative mach ...

  7. React Native填坑之旅--重新认识RN

    如同黑夜里的一道光一样,就这么知道了F8. F8是每年一次Facebook每年一次的开发者大会.每次大会都会release相应的APP,iOS.Android都有.之前都是用Native开发的,但是2 ...

  8. oracle基本操作

    登入oraclesqlplus / as sysdba启动oraclestartup停止oracleshutdown 创建新用户create user username identified by p ...

  9. Python-变量

    1.Python的变量是什么 变量是用来存储计算机程序中的信息,唯一的目的是将数据存储在内存中. 2.Python变量的组成 变量由字母.数字.下划线组成: 变量的第一位不能是数字,可以是字母或下划线 ...

  10. 第十章 PageRank——Google的民主表决式网页排名技术

    搜索引擎的结果取决于两组信息:网页的质量信息,这个查询与每个网页的相关性信息.这里,我们介绍前一个. 1.PageRank算法原理 算法的原理很简单,在互联网上,如果一个网页被很多其他网页所链接,说明 ...