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. 14.5、redis-sentinel高可用

    1.redis主从同步配置: (0)主机配置: 服务器名称 ip地址 实例6379 实例6380 实例6381 controller-node1 172.16.1.90 主 从 从 (1)确定主从: ...

  2. 14、oracle sql语法

    14.0.注释: 1.单行注释:-- 2.多行注释:/* */ 14.1.sqlplus中的set指令: 1.设置每行显示的数据长度: SET LINESIZE 500; #有效范围是1-32767, ...

  3. sonarqube 8.9版本配置项目访问权限

    soanrqube设置项目权限 admin->项目->要设置的项目 进行项目权限配置 选择权限 权限配置(公开,私有)如果是公司项目建议选择私有 根据项目团队成员的角色需求,进行勾选配置 ...

  4. 全局获取HttpContext

    全局获取HttpContext 在我们平常开发中会有这样的需求,我们的Service业务层需要获取请求上下文中的用户信息,一般我们从控制器参数传递过来.如果你觉得这样就可以了,请您关闭文章. 场景 但 ...

  5. 案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/118685521 长期持续带来更多项目与技术分享 ...

  6. Jenkins 进阶篇 - 权限配置

    Jenkins的授权策略 Jenkins 默认的授权策略是[登录用户可以做任何事],也就是人人都是管理员,可以修改所有的设置以及构建所有的任务,不用做任何设置,有账号登录到 Jenkins 系统即可, ...

  7. Nginx 实践:location 路径匹配

    1. 目标 nginx 反向代理,路径映射的过程是什么?如何配置路径映射规则? 2.location 路径匹配 2.1 匹配规则: location 路径正则匹配: 符号 说明 ~ 正则匹配,区分大小 ...

  8. C语言常用函数笔记

    strcmp 比较字符串: sscanf 读取格式化的字符串中的数据: memset 初始化内存的"万能函数",通常为新申请的内存进行初始化工作.对一段内存空间全部设置为某个字符, ...

  9. 多es 集群数据迁移方案

    前言 加入新公司的第二个星期的星期二 遇到另一个项目需要技术性支持:验证es多集群的数据备份方案,需要我参与验证,在这个项目中需要关注到两个集群的互通性.es集群是部署在不同的k8s环境中,K8s环境 ...

  10. C语言共同体

    结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员.在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),它的定义格式为: union 共用体名{    ...