Servlet基础(第三章)

目录

1.Servlet是什么?

2. Servlet容器:

3. Servlet技术

4. 提供了两个默认的接口实现类:

5. 类创建的Servlet和Servlet又什么区别?

6. servlet为什么会出现?

7. Servlet接口 javax.servlet.Servlet 5个抽象方法:

8. servlet有什么作用?  

9. Servlet生命周期方法:

10.Servlet的多重映射

11.映射路径中的通配符

12.servletConfig和servletContext接口

13.Get和Post的区别:


1.Servlet是什么?

    Servlet是使用Java语言编写的运行在服务器端的程序,狭义的Servlet指Java语言实现的一个接口,广义的Servlet是指任何实现Servlet接口的类,通常理解为后者。

2. Servlet容器:

指提供了Servlet功能的服务器,支持所有Http协议的请求和响应,这里指Tomcat。

3. Servlet技术

特点:方便,跨平台,灵活性和可扩展性,功能强大,能够在各个程序间共享数据,安全性强。

4. 提供了两个默认的接口实现类:

    GenericServlet和HttpServlet:

    Protected void doGet/ doPost/ doPut(HttpServletRequset req,HttpServletResponse resp):用于处理get/post/put类型的http请求的方法。

5. 类创建的Servlet和Servlet又什么区别?

    因为直接实现Servlet接口来编写Servlet很不方便,需要实现很多方法。

6. servlet为什么会出现?

    Servlet = Service + Applet,表示小服务程序。是在服务器上运行的小程序。服务器上需要一些程序,常常是根据用户输入访问数据库的程序。在通信量大的服务器上,JavaServlet 的优点在于它们的执行速度比CGI 程序快,服务器端处理请求的系统开销降低。

7. Servlet接口 javax.servlet.Servlet 5个抽象方法:

    Void init(ServletConfig config)初始化方法,容器在创建好Servlet对象后,会调用此方法。

    ServletConfig getServletConfig()获取Servlet对象的配置信息。

    String getServletInfo()返回一个字符串,包含Servlet的信息。

    Void service(ServletRequest requset, ServletResponse response):负责响应用户的请求,当容器(指web服务器)接收到客户端访问Servlet对象的请求时,就会调用此方法。(提供服务的方法,每一次Servlet被访问时执行,会执行多次。)

    Void destroy():销毁方法,负责销毁Servlet对象占用的资源,当服务器正常关闭或Servlet对象被移除时,对象被销毁,只执行一次。

8. servlet有什么作用?  

    Servlet 执行以下主要任务:1读取客户端(浏览器)发送的显式的数据。2读取客户端(浏览器)发送的隐式的HTTP 请求数据。3处理数据并生成结果,这个过程可能需要访问数据库。4发送显式的数据(即文档)到客户端(浏览器)。5发送隐式的HTTP 响应到客户端(浏览器)。

9. Servlet生命周期方法:

    初始化阶段 默认情况下,第一次被访问时Servlet被创建,也可以配置执行Servlet的创建时机。

    运行阶段 会创建request请求对象和response响应对象,并将其作参数传递给Servlet的service()方法,在Servlet的整个生命周期中,对于Servlet的每次请求访问,Servlet容器都会调用一次Servlet的service方法,并创建新的request和response对象,即service()方法在整个生命周期中会被调用多次。

    销毁阶段 当服务器正常关闭或web应用被移除容器时,Servlet随着web应用的销毁而销毁。(看课本88页多学一招第二段。负数或没有设定这个元素,Servlet容器会在客户端首次请求这个Servlet时加载它,正整数或0,Servlet容器在web应用启动时加载并初始化Servlet。)

10.Servlet的多重映射

    是指同个servlet可以被映射为多个虚拟路径,就是客户端可通过多个路径实现同一个Servlet的访问。

    实现方式:1.配置多个元素(在1处修改为其他虚拟路径)2.在一个元素中配置多个子元素,即在其中配置多个其他虚拟路径。

11.映射路径中的通配符

    *.扩展名   /*  (两种不能混合使用)

    缺省servlet  :若某servlet的映射路径是/,这个servlet就是当前web应用的缺省servlet,用于处理其他servlet不处理的访问请求。

12.servletConfig和servletContext接口

    servletConfig:自定义初始化信息,首先得到servletConfig的对象,再通过对象调用其方法。

    String getInitParameter(String name)根据初始化参数名返回对应的初始化参数。

    Enumeration getInitParamterNames()返回一个Enumeration对象,包含了所有的初始化参数名。​​​​​​​

    ServletContext getServletContext() 返回一个代表当前web应用的ServletContext对象。

    String getServletName()返回Servlet的名字。

     servletContext:封装了当前web应用的所有信息,实现了多个servlet之间数据的共享。

    作用:1获取web应用程序的初始化参数。

               2实现多个servlet对象共享数据。

                    Enumeration getAttributeNames()  返回一个Enumeration对象,包含了存在ServletContext中的所有域属性名。

                    Object getAttribute(String name)  根据指定属性名返回属性值。

                    Void removeAttribute(String name)  根据指定属性名删除匹配的域属性。

                    Void setAttribute(String name,Object obj)  设置域属性,name:域属性名,obj:属性值。

                3读取web应用下的资源文件。

                    Set getResourcePaths(String path)  返回一个set集合,指定匹配资源的部分路径(路径以/开头)。

                    String getRealPath(String path) 用文件的虚拟路径返回资源文件在服务器系统上的真实路径(绝对路径)。

                    URL getResource(String path)  返回映射到某个资源文件的url对象。

                    InputStream getResourceAsStream(String path)  返回映射到某个资源文件的InputStream输入流对象。

13.Get和Post的区别:

    1. Get是不安全的,数据被放在请求的URL中;Post的所有操作对用户来说不可见。 

    2. Get传送的数据量小,不能超过4kb,因为受URL长度限制;Post传送的数据量较大,一般被默认为不受限制。

    3. Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。 

    4. Get执行效率却比Post方法好。Get是form提交的默认方法。 

    5.get是从服务器上获取数据,post是向服务器传送数据。 6.get安全性非常低,post安全性较高。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值