1.Servlet 技术
           a)什么是 Servlet
                     1、Servlet 是 JavaEE 规范之一。规范就是接口
                     2、Servlet 就 JavaWeb 三大组件之一。三大组件分别是:Servlet 程序、Filter 过滤器、Listener 监听器。
                     3、Servlet 是运行在服务器上的一个 java 小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。

b)手动实现 Servlet 程序
                1、编写一个类去实现 Servlet 接口
                2、实现 service 方法,处理请求,并响应数据
                3、到 web.xml 中去配置 servlet 程序的访问地址

我们需要在web.xml文件中分别写入 

<servlet>   </servlet>   

<servlet_name>Servlet程序起一个别名即类名</servlet-name> 

 <servlet-class> 这里填下的是上面文件中的全类名</servlet-class>

<servlet-mapping>
<servlet-name>ContextServlet</servlet-name>
<url-pattern>/contextServlet</url-pattern>
</servlet-mapping>

url 地址到 Servlet 程序的访问

Servlet 的生命周期
       1、执行 Servlet 构造器方法
       2 、执行 init 初始化方法
                  第一、二步,是在第一次访问,的时候创建 Servlet 程序会调用。
       3、执行 service 方法
                 第三步,每次访问都会调用。
       4、执行 destroy 销毁方法
               第四步,在 web 工程停止的时候调

在自定义类中实现了Servlet接口后,我们需要重写这个接口中的抽象方法,其中有一个方法是关于处理请求和响应的 它就是 Servlet下的 service() 方法

在此方法中,我们需要知道,通过getMethod()可以获取到请求的机制如get,或者是post   而ServletRequest类的对象是没有这个方法的,我们需要转类型

// 类型转换(因为它有 getMethod()方法)
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;

// 获取请求的方式
String method = httpServletRequest.getMethod();

但是在实际的开发中,因为上诉方法还是比较麻烦的,所以我们通过继承 HttpServlet类 去实现 Servlet程序即可

在此之间 我们可以看看关于Servlet的继承实现结构:

那么 我们如何 通过 继承HttpServlet类去实现Servlet呢?

1、编写一个类去继承 HttpServlet 类
2、根据业务需要重写 doGet 或 doPost 方法
3、到 web.xml 中的配置 Servlet 程序的访问地址

那么我们创建了这个自定义类继承HttpServlet类。就需要在web.xml中添加对应的配置信息:

使用 IDEA 创建 Servlet 程序

Servlet  类的继承体系:

ServletConfig 类:

ServletConfig       类从类名上来看,就知道是 Servlet 程序的配置信息类。
Servlet  程序和 ServletConfig 对象都是由 Tomcat 负责创建,我们负责使用。
Servlet  程序默认是第一次访问的时候创建,ServletConfig 是每个 Servlet 程序创建时,就创建一个对应的 ServletConfig 对象。

ServletConfig 类的三大作用
          1、可以获取 Servlet 程序的别名 servlet-name 的值
          2、获取初始化参数 init-param
          3、获取 ServletContext 对象

比如:我想在这个配置信息中通过java代码去获取 servlet-name的值 和 init-param的值

我们可以通过重写 init方法。  记住这里需要super父类的init方法, 不然会空指针异常,为什么呢,这是因为在父类中的init方法 保存了config对象。

通过ServletConfig对象 调用getServletName() 获取别名,    getInitParameter 获取初始化参数      , getServletContext() 获取 servletContext对象

ServletContext 类:  这是通过  ServletConfid 对象创建的

什么是 ServletContext?

1、ServletContext 是一个接口,它表示 Servlet 上下文对象
2、一个 web 工程,只有一个 ServletContext 对象实例。
3、ServletContext 对象是一个域对象。
4、ServletContext 是在 web 工程部署启动的时候创建。在 web 工程停止的时候销毁。
什么是域对象?
域对象,是可以像 Map 一样存取数据的对象,叫域对象。
这里的域指的是存取数据的操作范围,整个 web 工程。
                                      存数据                          取数据                         删除 数据
Map                                put()                            get()                          remove()
域对象                        setAttribute()               getAttribute()             removeAttribute();

ServletContext 类的四个作用:

1、获取 web.xml 中配置的上下文参数 context-param
2、获取当前的工程路径,格式: /工程路径
3、获取工程部署后在服务器硬盘上的绝对路径
4、像 Map 一样存取数据

比如现在我想在web.xml文件中获取上下文参数 和路径:

关于Servlet技术的更多相关文章

  1. Java Web之Servlet技术

    1.Servlet基础 针对Servlet技术开发,Sun公司提供了一些列接口和类,其中最重要的是javax.servlet.Servlet接口,两个重要的包是javax.servlet和javax. ...

  2. Java Servlet 技术简介

    Java Servlet 技术简介 Java 开发人员兼培训师 Roy Miller 将我们现有的 servlet 介绍资料修改成了这篇易于学习的实用教程.Roy 将介绍并解释 servlet 是什么 ...

  3. Web---演示servlet技术(servlet生命周期),解决中文乱码问题

    本节讲解决中文乱码问题的4种方法. 还有更好的方法,也就是用过滤器,这里就不演示了,博主目前也不会~呼♪(^∇^*)~过段时间才会学. servlet生命周期演示: index.jsp: <%@ ...

  4. 漫谈servlet技术

    1.要谈到Servlet技术,不得不先谈谈动态网页的概念. 编写过网页的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页.但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证.或者说 ...

  5. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...

  6. java学习笔记—Servlet技术(11)

    如果大家要开发一个动态的网站,那么就必须要学习一种动态的网页开发技术.那么在SUN提供的JavaEE中主要包含两种开发动态网页的技术:Servlet和JSP技术. Servlet技术简介 Servle ...

  7. 2017.11.2 JavaWeb----第六章 Servlet技术

    JavaWeb ------第六章 Servlet技术 (1)在Web应用程序开发中,一般由JSP JavaBean技术和 Servlet技术的结合实现MVC开发模式.在MVC开发模式中将Web程序的 ...

  8. JavaWeb:Servlet技术

    JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 ...

  9. Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

    先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...

  10. Tomcat 学习总结(1) --Servlet技术

    在Web应用中,Servlet是一门重要的技术,Servlet是利用Java类编写的服务端程序,与平台架构,协议无关. JSP的实质就是Servlet,因为所有的JSP页面传回服务端时要转为Servl ...

随机推荐

  1. 通过css实现幻灯片效果

    html: css: .box { border: 0px solid white; width: 1520px; height: 480px; margin: 0 auto; position: a ...

  2. RabbitMQ 常用知识点总结

    基础 为什么使用 MQ? 1.削峰:在某个模块接收到超过最大承受的并发量时,可以通过 MQ 排队来使这些削减同一时刻处理的消息量.减小并发量. 2.解耦:在发送 MQ 处理业务时,可以使业务代码与当前 ...

  3. Java:java获取Linux下的路径

    指定Linux的路径 //Linux系统路径 StringBuilder sb = new StringBuilder(File.separator); String Url = sb.append( ...

  4. ES6 模版字符串及常用的es6扩展方法

    1.ES6 模版字符串es6 模版字符串主要用于简化字符串的拼接 <script type="text/javascript"> let obj={name:'rdb' ...

  5. Scala学习——操作外部数据

    scala操作外部数据 一.scala读取文件及网络数据 package top.ruandb.scala.Course08 import scala.io.Source object FileApp ...

  6. java网络编程基础——TCP网络编程二

    1.半关闭的Socket 前面的服务器和客户端通信时总是以行为最小数据单位,但是在某些协议里,通信的数据单位可能是多行的,当出现多行数据时就 出现一个问题:Socket输出流如何表示输出数据已经结束. ...

  7. robotframework - database操作(增删改查)

    1.前置配置条件准备 a.mysql环境配置ok b.robot环境配置ok c.pip 安装robotframework-databaselibrary 2.mysql数据操作 -->以操作 ...

  8. 光学动作捕捉系统中的反光标识点(Marker点)

    动作捕捉系统本质上是一种定位系统,通常需要在目标物布置定位设备进行追踪.以红外光学为原理的动作捕捉系统,主要由由光学镜头.动作捕捉软件.反光标识点.POE交换机.和若干配件组成,其中反光标识点(Mar ...

  9. Servlet 单例多线程详解(六)

    一.Servlet 单例多线程 Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的时候(或客户端发送请求到服务器时),Servl ...

  10. 轮播图 -- view, swiper

    效果图 制作步骤: 一.创建一个page 二.编写demo.wxml写界面元素 <!--miniprogram/pages/demo/demo.wxml--> <view class ...