2010年11月10日
要理解这个首先要有个概念: 我们写的servlet程序,只是整个系统程序中的一个部件,整个系统的主体框架(这里指的是Servlet引擎)已经有了,自己写的servlet只是提供给它去调用。。 主体框架读配置文件,根据配置文件生成ServletConfig对象,然后调用你写的Servlet类的实例对象的init方法把ServletConfig对象 传递给servlet实例对象。
如果要在其他的地方应用servletConfig对象,定义一个:
private ServletConfig config;
暴露ServletConfig对象的引用
public ServletConfig getServletConfig() {
}
方法:getInitParameterNames();初始化参数的名称
getParameter(String name); 初始化参数的值
等等
回调方法和工具方法:专门被系统调用的方法叫做回调方法
Servlet是一个要被容器调用的组件类,运行过程都是由servlet容器控制的,我们只负责编写这些方法,而调用是由容器完成的。
posted @
2010-11-10 20:42 恸哭明天 阅读(494) |
评论 (0) |
编辑 收藏
Servlet引擎采用多线程模式运行,为并发的每个访问都预备一个独立的线程进行相应,这样做提高了性能,但是也带来了线程安全问题(一个servlet实例对象被多个线程同时调用的问题)。
解决的最好办法 是在Service方法中编写多线程同步控制的代码,而不要采用单线程的运行模式。。
哪些情况下要注意线程安全:
除了在那些访问成员变量的时候要注意线程安全,访问共享资源(session和数据库内容)的时候也要注意线程安全的问题(如果没有这些内容就是读不改一般也不会出现线程安全的问题)。
posted @
2010-11-10 17:30 恸哭明天 阅读(107) |
评论 (0) |
编辑 收藏