(24)ServletConfig和ServletContext
2011-10-18 21:13
344 查看
11,10,18
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{
}
1、ServletConfig:每一个servlet对象都有一个ServletConfig对象
例如:
FirstServlet -------- ServletConfig对象
SecondServlet---------ServletConfig对象
2、
web.xml
<web-app>
<servlet>servlet名字和servlet类
<init-param>初始化参数</init-param>
</servlet>
<servlet-mapping>servlet名字和url模式</servlet-mapping>
<context-param>参数名和参数值,对所有servlet都有效</context-param>
</web-app> //根标签
ServletContext 上下文对象,一个web应用有一个ServletContext对象。
它里面有setAttribute();方法:设置属性名和属性值
getAttribute("属性名");
application session request
Enumeration getAttributeNames()
removeAttribute()
servlet对象一旦创建并init()后, 开启线程
临界资源,共享资源
上下文的参数:
在server文件中进行配置。
<Context path="/demo" docBase=".\demo">
<Parameter name="companyName" value="csdn"/>
</Context>
3、Servlet的线程安全问题:
(1)使用synchronized
– 使用synchronized关键字同步操作成员变量和共享数据的代码,就可以防止可能出现的线程安全问题。
(2)尽量少使用成员变量和共享数据
– ServletContext是可以多线程同时读/写成员变量和共享数据的,线程是不安全的。
– ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。
– Servlet本身就是多线程的,在Servlet中再创建线程,将导致执行情况复杂化,出现多线程安全问题
4、ServletConfig和ServletContext的区别
整个Web应用只有一个ServletContext,在部署Web应用的时候,容器会建立这一个ServletContext对象,这个上下文对Web应用中的每个Servlet和JSP都可用。
Web应用中的各个Servlet都有自己的ServletConfig,它只对当前Servlet有效。
使用synchronized
使用synchronized关键字同步操作成员变量和共享数据的代码,就可以防止可能出现的线程安全问题。
尽量少使用成员变量和共享数据
ServletContext是可以多线程同时读/写成员变量和共享数据的,线程是不安全的。
ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。
Servlet本身就是多线程的,在Servlet中再创建线程,将
致执行情况复杂化,出现多线程安全问题
二、
1、HttpServletRequesr简介
WEB客户端发送给WEB服务器的HTTP请求消息分为三个部分:
(1)请求行: GET demo/login?username=xxx&password=1234 HTTP/1.1
POST demo/login HTTP/1.1
(2)请求消息头:
(3)消息正文(也叫实体内容)username=xxx&password=1234
Servlet API中定义的ServletRequest及人口用于封装请求消息。
2、获取请求行的相关信息:
3、获取网络连接消息:
4、获取请求头信息:
<a href=" ">资源下载</a> 为了吸引访问量。 “盗链”,
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{
}
1、ServletConfig:每一个servlet对象都有一个ServletConfig对象
例如:
FirstServlet -------- ServletConfig对象
SecondServlet---------ServletConfig对象
2、
web.xml
<web-app>
<servlet>servlet名字和servlet类
<init-param>初始化参数</init-param>
</servlet>
<servlet-mapping>servlet名字和url模式</servlet-mapping>
<context-param>参数名和参数值,对所有servlet都有效</context-param>
</web-app> //根标签
ServletContext 上下文对象,一个web应用有一个ServletContext对象。
它里面有setAttribute();方法:设置属性名和属性值
getAttribute("属性名");
application session request
Enumeration getAttributeNames()
removeAttribute()
servlet对象一旦创建并init()后, 开启线程
临界资源,共享资源
上下文的参数:
在server文件中进行配置。
<Context path="/demo" docBase=".\demo">
<Parameter name="companyName" value="csdn"/>
</Context>
3、Servlet的线程安全问题:
(1)使用synchronized
– 使用synchronized关键字同步操作成员变量和共享数据的代码,就可以防止可能出现的线程安全问题。
(2)尽量少使用成员变量和共享数据
– ServletContext是可以多线程同时读/写成员变量和共享数据的,线程是不安全的。
– ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。
– Servlet本身就是多线程的,在Servlet中再创建线程,将导致执行情况复杂化,出现多线程安全问题
4、ServletConfig和ServletContext的区别
整个Web应用只有一个ServletContext,在部署Web应用的时候,容器会建立这一个ServletContext对象,这个上下文对Web应用中的每个Servlet和JSP都可用。
Web应用中的各个Servlet都有自己的ServletConfig,它只对当前Servlet有效。
使用synchronized
使用synchronized关键字同步操作成员变量和共享数据的代码,就可以防止可能出现的线程安全问题。
尽量少使用成员变量和共享数据
ServletContext是可以多线程同时读/写成员变量和共享数据的,线程是不安全的。
ServletRequest对象在service方法的范围内是有效的,不要试图在service方法结束后仍然保存请求对象的引用。
Servlet本身就是多线程的,在Servlet中再创建线程,将
致执行情况复杂化,出现多线程安全问题
二、
1、HttpServletRequesr简介
WEB客户端发送给WEB服务器的HTTP请求消息分为三个部分:
(1)请求行: GET demo/login?username=xxx&password=1234 HTTP/1.1
POST demo/login HTTP/1.1
(2)请求消息头:
(3)消息正文(也叫实体内容)username=xxx&password=1234
Servlet API中定义的ServletRequest及人口用于封装请求消息。
2、获取请求行的相关信息:
3、获取网络连接消息:
4、获取请求头信息:
<a href=" ">资源下载</a> 为了吸引访问量。 “盗链”,
相关文章推荐
- ServletConfig与ServletContext对象详解
- servlet作用域(session,ServletContext,ServletConfig)和Filter
- PageContext ServletContext ServletConfig辨析
- ServletContext,ServletConfig和Sesion
- (javaweb读书笔记系列之二)servletconfig和servletcontext
- getServletContext()和getServletConfig()的意思
- getServletContext()和getServletConfig()的意思
- 在servlet的init方法中使用getServletConfig、getServletContext时发生nullpointerexception
- JavaWeb学习笔记----Servlet的ServletConfig对象和ServletContext对象的使用
- ServletConfig与ServletContext对象详解
- ServletConfig和ServletContext的区别
- (转)JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
- Jsp/Servlet 读书笔记(三) -- ServletConfig和ServletContext
- (五)Servlet就是这样-ServletConfig和ServletContext对象
- java_web学习第二天(ServletConfig和ServletContext对象的作用和使用)
- ServletConfig对象与ServletContext
- getServletConfig().getServletContext().getRequestDispatcher("xxx.jsp")的用法
- 【Servlet】(2)有关Servlet实现的几个类:GenericServlet、HttpServlet、ServletConfig、ServletContext
- ServletConfig和ServletContext的简单使用
- ServletConfig和ServletContext