20111019

来源:互联网 发布:linux配置固定ip 编辑:程序博客网 时间:2024/06/06 05:44
 

Servlet的应用(五)

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>servle名字和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中再创建线程,将

致执行情况复杂化,出现多线程安全问题

 

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩在家偷钱怎么办 买了西晒房怎么办 乳胶漆有打磨痕迹怎么办 墙上乳胶漆用水擦完太亮了怎么办 外墙腻子不好打磨怎么办 腻子打磨的灰尘怎么办 家里的壁纸脏了怎么办 家装用冷风管冬天取暖怎么办? 房子装修冷色系怎么办 高血压突然变低血压怎么办 玩单机游戏卡顿怎么办 老人血压太低怎么办 老年人血压太低怎么办 觉总是不够睡怎么办 老年人气不够用怎么办 卧室晒不到太阳怎么办 农村房子墙角受潮怎么办 房间里面有虫子怎么办 墙壁发霉生虫子怎么办 墙壁发霉有虫子怎么办 墙面发霉有虫子怎么办 白漆墙面脏了怎么办 房间贴完墙墙面发霉怎么办? 家里的墙壁发霉怎么办 黑豆生虫了怎么办 家具有小虫子怎么办 店铺对面有镜子怎么办 房间里有蛆虫怎么办 房间里有虫子怎么办 小宝宝发烧了怎么办啊 小孩不盖被子怎么办 孩子不爱盖被子怎么办 宝宝不喜欢盖被子怎么办 被单上染上颜色怎么办 白漆不够白怎么办 衣柜推拉门门缝宽怎么办 推拉门时声音大怎么办 电子门坏掉了怎么办 厨柜门坏掉了怎么办 乳胶漆刷花了怎么办 淋浴房靠窗户怎么办