JavaWeb知识点:Servlet

Servlet

一.Servlet是什么

是服务器上运行的Java小应用程序,并被称为JavaWeb三大组件(Servlet、Filter、Listener)之一

通常我们把实现了Servlet的类,称之为Servlet

Servlet的作用主要是:1.接收请求数据

2.处理请求

3.完成响应

二.Servlet的生命周期

1.加载和实例化

  2.初始化 (#init()方法

  3.请求处理(#service()方法

  4.服务终止(#destroy方法

简易的Servlet的运行流程:

  服务器接收到Servlet访问请求后,服务器检查是否是首次访问

    是首次访问,则创建Servlet实例(容器通过反射创建),调用实例对象的init()方法,再执行之后的操作

    非首次访问,则直接封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。

    Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其它请求服务,直至web容器退出,servlet实例对象才会销毁。

三.如何编写Servlet

实现servlet三种方式:
      1.实现javax.servlet.Servlet接口
      2.继承javax.servlet.GenericServlet类
      3.继承javax.servlet.http.HttpServlet类(此类继承2中类)
        需要重写的是doGet()、doPost();

  sun公司为我们提供了1的2 和3 两个默认实现类,通常我们应该采用方式3开发Servlet

  HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,

  如为GET请求,则调用HttpServlet的doGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,

  通常只需要覆写doGet或doPost方法,而不要去覆写service方法。

 在myeclispe中编写Servlet

  (在new webProject时注意next->next->勾选generate web.xml)

  可以直接 new 一个 Servlet,然后再向导中填写name(通常首字母大写并以Servlet结尾),勾选需要的doGet()或doPost()方法

在点击next后,Servlet name 和mapping ,当然是可以使用默认,但这里建议将mapping前的前缀/servlet干掉(访问时可以少写一层)

点击finish后,相关的class mapping配置会由工具自动在web.xml中配置好

<servlet>元素用于注册Servlet,它包含有两个主要的子元素:<servlet-name>和<servlet-class>,

分别用于设置Servlet的注册名称和Servlet的完整类名。 
一个<servlet-mapping>元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:<servlet-name>和<url-pattern>,

分别用于指定Servlet的注册名称和Servlet的对外访问路径。

之后正确输入访问地址即可访问了!(比如去掉/servlet前缀后的一个例子:http://localhost:8080/day09/HServlet)

servlet特性(小细节):
1.单例
2.线程不安全:当多个客户端并发访问同一个Servlet时,web服务器会为每一个客户端的访问请求创建一个线程,并在这个线程上调用Servlet的service方法,因此service方法内如果访问了同一个资源的话,就有可能引发线程安全问题

(不在servlet创建成员,创建局部变量即可
可以创建无状态成员
可以创建有状态成员,但状态为只读(明星拍照举例))

3.效率高
4.servlet可以有多个访问路径,也可以使用通配符<url-parten>/servlet/*
(精确度越高,匹配越少,优先级越高,*只能放两边)

原文地址:https://www.cnblogs.com/python-road/p/10476931.html

时间: 2024-10-09 10:33:19

JavaWeb知识点:Servlet的相关文章

JavaWeb之Servlet入门(二)

1. 准备 在JavaWeb之Servlet入门(一)中,我们完成了第一个Servlet程序,完成了从URL到后台控制器的中转过程,接下来我们延续JavaWeb之Servlet入门(一)学习下如何传参及返回,如何配置404和error页. 2. Servlet传递参数 1)调整HelloServlet public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException

图解 & 深入浅出 JavaWeb:Servlet必会必知

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket "眨眼间,离上一篇写技术博文时隔1个月.怕自己真的生疏了,都是备案太慢惹得.哈哈,继续high~ " 从[JavaEE 要懂的小事] Http相关,一直想写点Web开发相关的.最近项目接口开发紧,还有准备新的九月份战斗.JDK IO源码就隔一段落,温故知新看看Ser

JavaWeb:Servlet技术

JavaWeb:Servlet技术 快速开始 Servlet是什么 Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层.使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页. Servlet在Web应用程序中的位置: Servlet的任务 Servlet 执行以下主要任务: 读取客户端(浏览器)发送的显式的数据.

Intellijidea建javaWeb以及Servlet简单实现

Intellijidea建javaWeb以及Servlet简单实现 一.创建并设置javaweb工程 1.创建javaweb工程 File --> New --> Project... 点击Project后出现如下界面,选择Java Enterprise,选中下图圈中部分 点击Next后弹出下图弹出框,设置工程名字: 创建完成后工程结构如下: 2. Web工程设置 2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录 c

JavaWeb知识点:Tomcat

Tomcat 一.知识点储备 internet上供外界访问的web资源有哪些?    -静态web资源:html页面,指web页面中供人们浏览的数据始终是不变的.    -动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问                  web页面看到的内容各不相同. -静态web资源开发技术:html    -动态web资源开发技术:jsp.servlet  asp   php... 在java中,动态web资源开发技术统称为javaweb. JA

JavaWeb之Servlet

Servlet 1. 什么是Servlet  * Servlet是JavaWeb三大组件之一(Servlet.Filter.Listener)  * Servlet是用来处理客户端请求的动态资源  * Servlet的任务有:    > 获取请求数据    > 处理请求    > 完成响应  * Servlet接口方法:    > void init(ServletConfig)    > void service(ServletRequest,ServletResponse

JavaWeb之Servlet篇

一.Servlet概述 1.什么是Servlet? Servlet可以说是JavaWeb的核心,属于动态资源.其作用就是处理客户端请求,服务器会把接收到的请求交给Servlet来处理,在Servlet要做的就是: 1.获取请求数据:2,处理请求:3.回复响应给客户端. 每个Servlet必须实现javax.servlet.Servlet接口. 2.Servlet的生命周期方法: void init(ServletConfig):(出生时调用,一生只有1次): void service(Servl

认识JavaWeb,servlet, JSP, Tomcat, http协议,Web服务器

JavaWeb通常指服务器端的Java应用开发. 一般来说,服务器是在网络通信条件下工作的,这就离不开http协议. HTTP协议,是为服务器和客户端通信提供的规范,其中规定了信息的格式,符合规范格式的信息就能由服务器识别,并反馈信息.请求(request)指客户端向服务噐发送的信息:响应(response)指服务器向客户端反馈的信息. Tomcat,一款Servlet容器,可以运行在Web服务器上,可以运行Java Servlet,但它并未实现J2EE规范. JSP,Jav服务页面,是为减轻编

[转]Intellij idea创建javaWeb以及Servlet简单实现

准备:1. 安装jdk1.72. 安装tomcat1.8 一.创建并设置javaweb工程 1.创建javaweb工程File --> New --> Project... 设置工程名字: 创建完成后工程结构如下: 2. Web工程设置2.1 在WEB-INF 目录下点击右键,New --> Directory,创建 classes 和 lib 两个目录classes目录用于存放编译后的class文件,lib用于存放依赖的jar包 2.2 File --> Project Stru