servlet 笔记

servlet

servlet 声明周期

实例化 -> 初始化 -> 服务 -> 销毁

出生: (实例化 -> 初始化) 第一次访问Servlet就出生
活着:(服务) 应用活着,Servlet 就活着
死亡: (销毁)应用卸载了Servlet 就销毁

实例  init service destroy

如何让Servlet 在服务器启动时就创建
在web.xml servlet 中设置
2

Servlet 的线程安全

单例:每次访问多线程
解决县城安全问题的最佳方法:不要写全局变量,而写局部变量    

Servlet 获取配置信息

ServletConfig 使用

可以获取servlet配置信息

this.getServletConfig().getInitParameter(key)   

可以获得Servlet对象

ServletContext

SerletContext 代表的是整个应用,一个应用只有一个ServletContext对象。单例

作用

1,域对象:在一定范围内(当前应用),使多个Servlet共享数据
常用方法:
    this.getServletContext.setAtrribute(String name,Object value)   
    this.getServletContext.getAttribute(String name)
    this.getServletContext.moveAttribute(String name)
2,获取全局配置信息
web.xml

    encoding
    utf-8
>

this.getServletContext.getInitParameter("encoding")
3,获取资源路径
this.getServletContext.getRealPath(String path)

private void getPropertie(HttpServletResponse resp) {
    ServletContext sc = this.getServletContext();
    String path = sc.getRealPath("WEB-INF/a.properties");
    Properties ps = new Properties();
    try {
        ps.load(new FileInputStream(path));
        PrintWriter out = resp.getWriter();
        out.println(ps.get("name"));
        out.println(ps.get("age"));
        out.println(ps.get("sex"));
        out.println(sc.getClass().getName());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

你可能感兴趣的:(servlet 笔记)