servlet
什么是servlet
servlet是提供基于协议的请求/响应服务的java类
http servlets是能被http命令调用的servlet


Servlet的生命周期
Servlet生命周期通过WEb容器控制


Servlet类---->实例化和加载---->初始化:init(ServletConfig)
     ---->就绪:service(_request,_response)
     ---->销毁:destroy()
     ---->垃圾回收:finalize()

    init()
    仅在servlet首次载如时执行一次,不是每次请求都要调用。
    service
    在新线程中由服务器为每个请求而调用。发送到doGet.doPost等。不要覆盖这个方法
    doGet,doPost,doXxx
    处理GET,POST,等请求。
    覆盖这些方法以提供期望的行为。
    destroy
    在服务器删除servlet的实例时调用。不是每次请求后都调用。

ServletContext
是一个接口,呈现了Web应用的Servlet视图
在Servlet中通过getServletContext()方法获得
能访问应用范围的初始化参数和属性
能访问Web应用的静态资源
横跨多个请求,用户和Servlets

ServletConfig

Context初始化参数
使用getServletContex()方法访问ServletContext初始化参数
在web.xml中配置初始化参数:
<web-app>
 <context-param>
    <param-name>feedback</param-name>
    <param-value>feedback123@bea.com</param-value>
 </context-param>
<web-app>
从Servlets访问context-wide初始化参数:
ServletContext ctx=getServletContext();
ctx.getInitParameter("feedback"));

Context属性

Servlet context属性是:
    通过变成方式绑定
    作为Web应用全局变量可以被所有Servlet和JSPs访问到
    设置Context属性
    ServletContext ctx=getServletContext();
    ctx.setAttribute("employee1",new Employee("john Doe"));
    ctx.setAttribute("employee2",new Employee("B.Clark"));
    获得Context属性
    ServletContext ctx = getServletContext();
    Enumeration aNames=ctx.getAttributeNames();
    while(aNames.hasMoreElements()){
        String aName=(String)aNames.nextElement();
        Employee e=(Employee)ctx.getAttribute(aName);
        ctx.removeAttribute(aName);
    }
   
            Sevlet configuration
    ServletConfig:
    表示单独的Servlet初始配置
    使用getServletConfig()方法获得
    ServletConfig借口提供方法,该方法返回:
    Servlet名
    Servlet上下文
    初始化的参数

    配置初始化参数
    Servlet配置初始化参数可以被指定的Servlet访问
    在web.xml中初始化Servlets:
    <web-app>
     <servlet>
       <servlet-name>myServlet</servlet-name>
       <servlet-clas>myPackage.MyServlet</servlet-class>
       <init-param>
        <param-name>cache</param-name>
        <param-value>OFF</param-value>
       </init-parm>
    </servlet>
      </webapp>
      从Servlets访问初始化参数
    ServletConfig config=getServletConfig();
    if(config.getInitParameter("cache").equals("OFF")){
    res.setHeader("parama","no-cache"):
}

    使用Servlet init()方法

    Servlet借口中的init()方法能够访问ServletConfig
    在init()方法中处理配置参数:
    import javax.servlet.htttp.*;
   
    public class MyServlet extends HttpServlet{
    Stirng cache;

    pulbic void init(SevletConfig config){
    cache=config.getInitParameter("cache");
    }
}

    设置和访问初始化参数
    设置和访问应用属性
lunzi   2007-09-14 03:05:16 评论:0   阅读:229   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2008 powered by YuLog