宋利兴_笔记_ServletConfig和ServletContext

原创 2011年10月18日 14:07:29
 

       ServletConfig和ServletContext

Public class GenericServlet implements Servlet,ServletConfig{

       Private ServletConfig conf;

       Public void init(ServletConfig conf){

              This.conf=conf;

}

Public ServletConfig getServletConfig(){

       Return conf;

}

}

Public class HttpServlet extends GenericServlet{

}

每一个Servlet都对应有一个自己的ServletConfig对象

Web.xml

<web-app>

       <servlet>servlet名字和servlet类<init-param></init-param></servlet>

       <servlet-mapping>servlet名字和url模式</servlet-mapping>

       <context-param>参数名和参数值</context-param>

</web-app>

ServletContext对象  一个Web应用程序有一个ServletContext对象

ServletContext对象 得到上下文参数

setAttribute()设置属性名和属性值

getAttribute(“属性名”)

servlet对象一旦创建并init()后  开启线程service()

共享资源  临界资源

HttpServletRequest接口中提供了几个方法用来操作请求实例中存储的对象:

public void setAttribute(String name, Object obj):将对象存储进HttpServletRequest实例中。

public Object getAttribute(String name):检索存储在HttpServletRequest实例中的对象。

public Enumeration getAttributeNames():返回包含HttpServletRequest实例中的所有属性名的Enumeration对象。

public void removeAttribute(String name):从HttpServletRequest实例中删除指定名称的属性。

ServletConfig

如何给Servlet类配置初始化参数

如何在Servlet类中获取它的初始化参数值

ServletContext

如何配置Web应用上下文初始化参数

如何在Servlet类中获取Web应用上下文的初始化参数值

ServletContext的其他用途

public void setAttribute(String name, Object obj):根据指定名name把对象obj存放到应用上下文范围中。

public Object getAttribute(String name):根据指定名从应用上下文范围中获取到该属性对象。

public void removeAttribut(String name):根据指定名从应用上下文范围中移除该属性。

ServletConfig和ServletContext的区别

整个Web应用只有一个ServletContext,在部署Web应用的时候,容器会建立这一个ServletContext对象,这个上下文对Web应用中的每个Servlet和JSP都可用。

Web应用中的各个Servlet都有自己的ServletConfig,它只对当前Servlet有效。

使用synchronized

使用synchronized关键字同步操作成员变量和共享数据的代码,就可以防止可能出现的线程安全问题。

尽量少使用成员变量和共享数据

ServletContext是可以多线程同时读/写成员变量和共享数据的,线程是不安全的。

ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。

Servlet本身就是多线程的,在Servlet中再创建线程,将导致执行情况复杂化,出现多线程安全问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/songlixing/article/details/6884382

有道云笔记和有道云协作视频教程

现在有的客户端:iPhone客户端、安卓客户端、Windows客户端、Mac客户端、iPad客户端、网页版。 其他平台:可以使用网页版http://note.youdao.com 文字、表格: 手写笔记: 图片笔记: 录音笔记: 附件:支持任意附件格式,office文档在pc端可直接笔记内修改 待办事项:重要事件设置提醒 笔记来源:放到笔记中忘了从哪里剪切过来的了
  • 2018年01月14日 23:43

宋利兴项目开发--心得

在项目开发过程中,遇到难题一定要多思考;自己不能解决的问题很少,所以一定要善于思考、敢于思考,没有思考的收获算不上收获;遇到bug时,要想法读懂提示信息,找出解除错误的关键,留意bug提示信息的关键信...
  • songlixing
  • songlixing
  • 2011-12-01 01:38:23
  • 2473

Servlet、ServletContext与ServletConfig的详解及区别

ServletContext与ServletConfig的详解及区别 一、ServletContext详解 ServletContext是servlet与servlet容器之间的直接通信的接口。Se...
  • u012077981
  • u012077981
  • 2013-12-05 11:29:09
  • 6995

ServletConfig和ServletContext的区别及应用

一、区别   1、定义       1)ServletConfig:Servlet的配置对象,容器在初始化Servlet时通过它传递信息给Servlet。     2)S...
  • lzm18064126848
  • lzm18064126848
  • 2015-11-24 14:26:04
  • 2419

ServletConfig和ServletContext详解

ServletConfig ServeltConfig代表了Servlet的配置信息的对象。 在web.xml中配置Servelt的初始化参数 如: Demo1 com...
  • a1459268562
  • a1459268562
  • 2017-04-16 21:26:07
  • 161

Servlet容器模型(四)ServletConfig、ServletContext

这两天刚刚回顾了一下servlet中的配置对象ServletConfig、上下文对象ServletContext、多线程相关的知识点,做了一下笔记,如下: 一、Servlet配置对象(ServletC...
  • cl05300629
  • cl05300629
  • 2013-07-18 08:39:04
  • 4506

宋利:编码既是技术也是艺术

责编 / Ant“好为人师,博而不精,杂而不纯。”——宋利。收到对宋利的采访邮件,正文开始是一段自嘲,让原本枯燥的技术采访变得生动。相比于之前几个采访,本文的信息量更大,不得不对严谨的学术界敬佩三分。...
  • vn9PLgZvnPs1522s82g
  • vn9PLgZvnPs1522s82g
  • 2017-12-20 00:00:00
  • 198

Servlet技术浅析(五)之-----ServletConfig接口和ServletContext接口

ServletConfig接口 简述          Servlet接口的init(ServletConfig config)方法有一个ServletConfig类型的参数。当Servlet容器初始...
  • u011159417
  • u011159417
  • 2017-01-06 10:43:00
  • 491

如何获得servletConfig对象和servletContext对象以及通过这两个对象获得初始化参数

  • huihui870311
  • huihui870311
  • 2015-11-01 20:26:43
  • 767

宋利兴_Session_笔记

Session        Session的跟踪机制        使用Cookie和附加URL参数都可以将上一次请求的状态信息传递到下一次请求中,但是如果传递的状态信息较多,将极大降低网咯传输...
  • songlixing
  • songlixing
  • 2011-10-25 13:41:38
  • 811
收藏助手
不良信息举报
您举报文章:宋利兴_笔记_ServletConfig和ServletContext
举报原因:
原因补充:

(最多只允许输入30个字)