1.关于CGI:CGI脚本是用C,C++,或perl等编程语言编写的,在应用服务器使用CGI脚本处理客户机请求的情况下,服务器创建单独的CGI的脚本实力来处理请求。因此,多个请求并发时会影响服务器的效率。

2.Servlet工作原理:

(1)客户机发送请求给Web容器

(2)Web容器查找并加载Servlet类

(3)创建并初始化该servlet实例

(4)处理请求

(5)生成响应给客户机

3.Servlet的类层次接口

Servlet接口是servlet类层次结构的根接口。所有servlet都需要直接或间接地实现

GenericServlet 类还实现Servlet API 的 ServletConfig接口和标准java.io包中的Serializable接口。Web容器用ServeletConfig接口的对象在配置信息初始化是将配置信息传送给Servlet。

HttpServlet:HttpServlet类扩展了GenericServlet类,提供了能够处理特定HTTP方法收到的客户机请求的方法。

4.javax.servlet.Servlet 接口

提供的方法如下

(1)public void destroy() Web容器在将servlet实例从服务器中删除之前调用destroy方法

(2)public ServletConfig getServletConfig() 此方法返回包含初始化参数等配置信息的ServletConfig对象,一遍初始化servlet

(3)public String getServletInfo() 此方法返回包含作者,版本,版权等servlet相关信息的字符串

(4)public void init(ServletConfig config) throes ServletException Web容器穿件servlet实例后调用此方法

5.javax.servlet.ServletConfig 接口

在Servlet初始化初期,通过Web容器实现javax.servlet.ServletConfig接口,以便将配置信息传送给servlet,Web容器通过将ServletConfig类的对象那个传送至servlet的init()方法来初始化该servlet

6.service()方法

只有在servlet初始化完成后层能调用service()方法。Web容器调用service方法时传送ServletRequest接口的对象和ServletResponse接口的对象。

在发生干扰servlet正常运行的宜昌市,service()方法会引发ServletException异常。发生输入或输出异常时,service()方法会引发IOException.

service()方法将客户机请求分给HttpServlet接口的其中一个请求处理程序方法,如doGet(),doPost(),doHead(),doPut().

7.关于get请求和post请求

Get 默认都是发型Get请求,请求可以将参数附加到URL上

Post 数据量大,不可见,安全性高,将数据作为Http请求主体的一部分发出。

8.如何创建,注册和运行一个Servlet

注册一个servlet(以web.xml形式注册一个Servlet)

<web-app>中的version:次属性指定模式的版本

xmlns:次属性制定部署描述符模式的名称空间

<displayname>标记制定需要部署的Web模块的名称

<servlet>标记中包含servlet的信息

<display-name> 显示servlet 的名称

<servlet-name> servlet的名称,可通过该名称访问servlet

<servlet-class> servlet类的名称。

<welcome-file-list>

<welcome-file>

filename(访问servlet的首页)

</welcome-file>

</welcome-file-list>

9.文件目录

根目录存放静态资源,Html,Jsp等

在根目录下创建WEB-INF目录,web.xml直接放在里面

classes 与 lib 目录位于WEB-INF目录中

10.javax.servlet 包

创建Servlet时需要直接或通过扩展实现Servlet接口的类实现Servlet接口。Servlet 接口定义了各种Servlet生命周期的方法.javax.serverlet保重其他经常使用接口有ServletRequest接口,ServletResponse接口,ServletContent接口

11.ServletRequest接口

调用servlet时,Web容器将用于实现ServletRequest 和 SerletResponse 接口的对象传送给 servlet 的service() 方法

(1)public String getParameter(String ParameterName) 返回制定请求参数值得String对象

(2)public String[] getParamterValues(String paramterName) 返回包含所有请求参数值的String 对象的数组

(3)public Enumeration getParameterNames() 返回Enumeration对象,该Enumeration对象包含servlet请求包含的String对象作为参数名

(4)public String getRemoeHost 返回制定了发送请求的计算机的完全限定名称

(5)publice String getRemoteAddr() 返回制定了发送请求的计算机的IP地址的String

12.ServletResponse 接口

(1)public ServletOutputStream getOutputStream() throws IOException 返回ServletOutputStream 类的对象,表示输出流发送二进制数据作为响应。

(2)public PrintWriter getWriter() throws IOException 返回PrintWriter 类的对象,servlet使用该对象发送字符数据作为相应

(3)publice void setContentType(String type) 位servlet相应设置MINE类型,部分MIME类型有 text/html

13.ServletContext 接口

ServletContext常用于设置其他应用程序或Servlet可以访问的属性

(1)public void setAttribute(String , Object)

(2)public Oject getAttribute(String attrname)

(3)public Enumeration getAttributeNames() 返回包含所有上下文属性名称的string对象枚举

(4)在部署描述符中(即web.xml)中创建上下文初始化参数

<context-param>

<param-name></param-name>

<param-value></param-value>

</context-param>

14.javax.servlet.http 包

javax.servlet.http 包时对javax.servlet 包的扩展。该包的类和接口处理使用HTTP进行servlet。javax.servlet.http包经常使用的接口包括

HttpServletRequest 接口

重要的请求标头如下:

Accept:制定客户机优先接受MIME类型

Accept-Language:制定客户机优先接受请求的语言。

User-Agent:指定发送请求的浏览器的名称和版本

HttpServletResponse 接口

重要的相应标头:

Content-type:指定Servlet所发送数据的MIME类型,如text/Html

Cache-control:指定缓存servlet的信息

Expires:指定servlet的内容变化的时间或因其他信息无效而浏览器需要重新加载以显示最新数据的 时间

void sendredirect(String url) 将请求重定向到指定URL

HttpSession 接口

15.servlet的事件类型

分为:servlet请求事件,Servlet 上下文事件 , HTTP 会话事件

(1)于关于Web应用程序请求对象中的变化有关的事件称为servlet请求事件。一下两个接口表示servlet请求事件:

javax.servlet.ServletRequestEvent

c1:初始化请求对象和删除请求对象时调用此参数

javax.servlet.ServletRequestAttributeEvent

c2:向请求的属性进行增删改时触发事件

16.侦听器的类型

分为 Servlet请求监听器,servlet上下文监听器,HTTP会话监听器

(1)Servlet请求监听器

javax.servlet.ServletRequestListener

javax.servlet.ServletReqyestAttributeListener

Servlet chapter 1相关推荐

  1. SSM Chapter 12 SpringMVC扩展和SSM框架整合

    SSM Chapter 12 SpringMVC扩展和SSM框架整合 笔记 本章目标: 掌握JSON对象的处理 理解数据转换和格式化 了解本地化 掌握Spring MVC+Spring+MyBatis ...

  2. SSH Chapter 04 Hibernate 入门

    SSH Chapter 04 Hibernate入门 笔记 Hibernate 知识体系图: 本章目标: 理解类和表的映射关系 掌握单表的增删改 掌握按主键查询 理解持久化对象的状态及其转换 技术内容 ...

  3. SSM Chapter 05 Spring 核心概念

    SSM Chapter 05 Spring 核心概念 笔记 本章目标: 理解Spring IoC的原理 掌握Spring IoC的配置 理解Spring AOP的原理 掌握Spring AOP的配置 ...

  4. JavaWeb开发中,servlet的url-pattern的映射规则

    原文出处:http://www.cnblogs.com/mailingfeng/archive/2012/04/05/2432687.html Servlet和filter是J2EE开发中常用的技术, ...

  5. 一个较丰满的servlet web server,由简化的conector、HttpProcessor、bootstrap 和简单servelt处理器构成(1代码清单)...

    代码结构: 该目录未能显示项目根下的webroot文件夹,此文件夹存放servlet程序员编译的servlet.class文件和静态资源. BootStrap package sub.startup; ...

  6. 在tomcat下配置mysql的数据库连接池及Servlet

    这几天在tomcat下配置mysql的数据库连接池,再使用servlet进行数据访问.碰到不少问题,百度查了不少资料,不是很完整,试了很久,总算调通了.记录下来,供大家参考. Tomcat和MySQL ...

  7. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常

    我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...

  8. JavaEE学习笔记之Servlet

    同一用户的不同页面的共享数据 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 ###session技术: 当用户打开浏览器,访问某个网 ...

  9. 【JavaWeb】servlet与http请求协议

    Servlet: 概念: server applet (服务端小程序)运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则. 将我我们自定义一个 ...

  10. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目

    一:选择左上端的File,创建Project,选择创建Web Application 项目: 注:不勾选Create web.xml 二:设置项目名称:helloworld,并创建一个Servlet( ...

最新文章

  1. 忽悠马云10亿的骗子,还了阿里4500亿:做对事赢一场,跟对人赢一生!
  2. react 和 lodash 完美结合命令
  3. CVPR 2017 CFNet:《End-to-end representation learning for Correlation Filter based tracking》论文笔记
  4. Oracle入门(三B)之11G新特性 SYSASM 角色用来管理ASM
  5. TensorFlow2.0:常用数据范围压缩函数
  6. ‘mvn‘ 不是内部或外部命令,也不是可运行的程序
  7. 【MATLAB】饼图
  8. primefaces_Primefaces单选按钮,复选框示例
  9. 跳转的两种方式(转发与重定向)
  10. APP登录界面UI设计欣赏
  11. 3dmax渲染是用云渲染好还是自己电脑渲染好?
  12. win7 设置电脑保护色
  13. Span 介绍及使用(二)
  14. 计算机网络操作技师论文,关于计算机操作技师论文计算机操作技师论文:计算机网络技术专业技师培养过程思考.doc...
  15. 使用Windows 7的早期版本来返回时间并保存文件
  16. 关于h5使用高德地图,没有获取经纬度
  17. 中文转换为日文的几点注意事项
  18. verilog 中的冒泡排序法
  19. sanicOpenApi 学习
  20. [Done]FindBugs: boxing/unboxing to parse a primitive

热门文章

  1. 后端分布式系列:分布式存储-MySQL 数据库事务与复制
  2. Javascript常用对象的属性和方法
  3. InitInstance函数
  4. 下列( )软件不能编辑html语言,2016年职称计算机Dreamweaver考试题库五
  5. java添加日志打印出sql语句_实现Mybatis在控制台和日志文件中打印SQL语句
  6. 拓端tecdat|Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类
  7. 拓端tecdat|R语言连续时间马尔可夫链模拟案例 Markov Chains
  8. Linux复习-进程及其管理
  9. c语言中指,C语言程序设计中指教学要点分析.doc
  10. 文本分类pytorch Bert fine tune