2022年Servlect课时0

简介: 2022年Servlect课时0

1 Servlet的定义?

2 Servlet的定义的四种形式?

3 Servlet get与post的区别?

4 Servlet的周期?

5 Servlet的注册在哪里?

6 什么是url-pattern?

7 Servlet的常用对象有哪些?

ServletConfig

ServletContext 方法的作用 HttpServlet

HttpServletRequest

HttpServletResponseHttpServletRequest

1 Servlet的定义?

Servlet是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。

Servlet运行于支持Java的应用服务器中。

从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server,一些其它的基于Java的Web服务器开始支持标准的Servlet。

2Servlet的定义的四种形式?

public class OneServlet implements Servlet  { } //采用接口


public class TwoServlet  extends GenericServlet {}//采用继承


public class ThreeServlet  extends HttpServlet{}//采用继承


@WebServlet(urlPatterns="/d")

public class fourServlect extends HttpServlet {}采用快键


ALT+/ 在写代码中常用

3 Servlet get与post的区别?

第一点:get请求和post请求的区别:

浏览器使用get请求访问servlet服务器的时候doget方法接收

浏览器使用post请求访问servlet服务器的时候dopost方法接收

第二点

get请求所带的数据是拼接在地址上的,地址的长度是有限的,1kb=1024   一个字母2个字节  512字母

post传输数据是不受限制的

第三点

登录功能一律不允许使用get请求给服务器发送数据

浏览器默认为get请求

4 Servlet的周期?

servlet周期

构造方法(创建servlet 对象执行)

Servlet 初始化后调用 init () 方法。

Servlet 调用 service() 方法来处理客户端的请求。

Servlet 销毁前调用 destroy() 方法 长时间未访问。

最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。

5 Servlet的注册在哪里?

web.xml文件

 <!-- 注册oneServlet -->
  <!--  第一部分 注册OneServlet-->
  <servlet>
  <!--  srvlet 增加名字  -->
  <servlet-name>OneServlet</servlet-name>
  <!--注册servlet地址  -->
  <servlet-class>com.servlet.OneServlet</servlet-class>
  <load-on-startup>4</load-on-startup>
  </servlet>
  <!--第二部分 :设置一个浏览器可以访问的servlet的地址 -->
  <servlet-mapping>
  <servlet-name>OneServlet</servlet-name>
  <!--设置浏览器地址  -->
  <url-pattern>/a</url-pattern>
  <!-- 设置地址访问一定加/asd -->
  </servlet-mapping>

6 什么是url-pattern?

url-pattern详解


1.完全匹配    必须以"/"开始            

例如:/hello    /a/b/c

2.目录匹配    必须以"/"开始  以"*"结束    

例如:/a/*    /*

3.后缀名匹配    以"*"开始      以字符结尾      

例如:*.jsp   *.do   *.action


优先级:完全匹配>目录匹配>后缀名匹配



servlet标签中的一个子标签< load-on-startup> 作用:用来修改servlet的初始化时机


取值:

1.它的值必须是一个整数,表示servlet被加载的先后顺序

2.如果值为正整数或者0时,表示在应用启动时就加载并初始化servlet


值越小,加载的优先级越高,就越先被加载,值相同时,容器就会自己选择加载顺序

7 Servlet的常用对象有哪些?

ServletConfig

ServletContext 方法的作用

HttpServlet

HttpServletRequest

HttpServletResponseHttpServletRequest

ServletConfig

获取静态数据的二个方式

在web.xml文件中写  

 <init-param>
 <param-name>home</param-name>
 <param-value>二家酒店</param-value>
 </init-param>
方式二
/**
 * Servlet implementation class Servlet2
 */
@WebServlet(urlPatterns = "/Servlet2",initParams = {
        @WebInitParam(name="aaaa",value="张三"),
        @WebInitParam(name="age",value="23"),
        @WebInitParam(name="height",value="179cm"),
        @WebInitParam(name="weight",value="60kg")
})
public class Servlet2 extends HttpServlet {

ServletContext 方法的作用

ServletContext {con 上下文  }

tomcat 服务器为每个项目创建一个对象

ServletContext

1个web项目只有一个ServletContext对象

ServletContext 服务器开始创建    结束 而消失


ServletContext 作用   同一个项目共享数据。

1  共享静态数据

2  共享动态数据 写在java代码

3  共享文件数据

* 创建对象

*  ServletContext sc=getServletContext();获取对象

* sc.setAttribute("pq", "排球"); 接收对象

* 删除对象 sc.removeAttribute("pq");

HttpServlet

 


Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.


Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的声明周期:


init方法,负责初始化Servlet对象

service方法,负责相应客户的请求

destory方法,当Servlet对象退出声明周期时,负责释放占有的资源


当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.


    HTTP的请求方式包括DELETE,GET,OPTIONS,POST,PUT和TRACE,在HttpServlet类中分别提供了相应的服务方法,它们是,doDelete(),doGet(),doOptions(),doPost(), doPut()和doTrace().


HttpServlet的功能  


HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象,并把Http请求直接封装到HttpServlet对象中,大大简化了HttpServlet解析请求数据的工作量。HttpServlet容器响应Web客户请求流程如下:


1)Web客户向Servlet容器发出Http请求;


2)Servlet容器解析Web客户的Http请求;


3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;


4)Servlet容器创建一个HttpResponse对象;


5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;


6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;


7)HttpServlet调用HttpResponse的有关方法,生成响应数据;


8)Servlet容器把HttpServlet的响应结果传给Web客户。


相关文章
|
前端开发 JavaScript Java
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(三)
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(三)
113 0
|
Java
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(二)
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(二)
62 0
|
Java
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(一)
欢迎来到Jsp编程课时十——Servlect+Jsp基础回顾。(一)
54 0
|
网络协议 Java
2022年课时一:Servlect
2022年课时一:Servlect
86 0
2022年课时一:Servlect
|
Java 应用服务中间件 容器
2022年Servlect课时六——:案例 servlet的常用对象
2022年Servlect课时六——:案例 servlet的常用对象
110 0
2022年Servlect课时六——:案例 servlet的常用对象
2022年课时十——两个小项目实战(Servlect常用对象)
2022年课时十——两个小项目实战(Servlect常用对象)
87 0
2022年课时十——两个小项目实战(Servlect常用对象)
|
Java
2022年Jsp课程课时八——案例(Servlect常用对象)
2022年Jsp课程课时八——案例(Servlect常用对象)
74 0
2022年Jsp课程课时八——案例(Servlect常用对象)
|
Java 数据安全/隐私保护 容器
2022年课时九——第7次课Servlect对象(HttpServlet对象)
2022年课时九——第7次课Servlect对象(HttpServlet对象)
57 0
2022年课时九——第7次课Servlect对象(HttpServlet对象)
|
Java
2022年Servlect课时十六——Filter 与Servlect 的用法相似
2022年Servlect课时十六——Filter 与Servlect 的用法相似
80 0
2022年Servlect课时十六——Filter 与Servlect 的用法相似
|
Java 容器
2022年Jsp课时十二——回顾 Servlect的一些内容(一)
2022年Jsp课时十二——回顾 Servlect的一些内容
67 0
2022年Jsp课时十二——回顾 Servlect的一些内容(一)