• JAVA-Servlet-ServletConfig 与 ServletContext 的区别


    什么是ServletConfig?

    Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。在servletConfig对象中包含了servlet的初始化参数信息。此外,servletConfig对象还与servletContext对象关联。Servlet容器在调用servlet对象的init(ServletConfig  config)方法时,会把servletConfig对象当做参数传递给servlet对象。Init(ServletConfig  config)方法会使得当前servlet对象与servletConfig对象建立关联关系.一般不会使用这种方法的。而是调用this.Getservletconfig servletConfig接口中定义了一下方法。                  

    Servlet容器初始化一个servlet对象时,会为这个servlet对象创建一个servletConfig对象。在servletConfig对象中包含了servlet的初始化参数信息。

    serevletconfig是跟整个servlet有关的,跟客户端是否存在无关。下面就是各个重要的对象的关系,也就是说,建立了servletconfig之后,你的client关闭了,但是只要服务器开着,其他的客户端也是可以访问这个servletconfig的。 Httpservelrtrequest 和 httpserveltresponse Httpsession Servletconfig Servletcontext

    相关方法:

     getInitParameter(String   name):根据给定的初始化参数,返回匹配的初始化参数值。 
     getInitParameterNmes():返回一个Enumeration对象,里面包含了

    所有的初始化参数。 
     getServletContext()://返回一个servletContext()对象
     getServltName():返回servlet的名字,即web.xml中的<servlet-name>的子元素的值。如果没有配置这个子元素,则返回servlet类的名字

    那什么是ServletContext ?

    ServletContext是整个web项目应用程序运行后的代表对象。可以通过ServletConfig的getServletContext() 的方法得到,然后可以用该对象取得整个应用程序的相关资源或者信息。

    相关方法:

    getRequestDispatcher();// 使用路径是必须使用 "/" 这个斜杠代表应用程序环境的根目录.同时通过取得RequestDispatcher实例之后,就可以进行请求的转发(Forward)或者包含了(Include)

    例子:

    this.getRequestDispatcher("/photo/1.jpg").forward(request,response); //得到根目录下的photo文件夹下的图片1.jpg

    getResourcePaths();//可以得到web应用程序(WebContent/webRoot)的某个目录有什么文件  以"/" 表示相对于应用程序环境根目录

    例子:

    this.getservletContext().this.getResourcePaths("/");

    getResourceAsStream(); //可以得到web应用程序(webContent/webRoot)的某个目录下某个文件的流,然后对文件进行读取, 以"/" 表示相对于应用程序环境根目录

    例如:

    InputStream in = this.getServletContext().getResourceAsStream("/index.jsp");
        BufferedInputStream bin = new BufferedInputStream(in);
        int b  ;
        while((b = bin.read())!= -1){
                System.out.println(b);
            }
  • 相关阅读:
    http 事务
    URI、URL、URN
    媒体类型(MIME类型)
    资源
    WEB客户端和服务器
    如何解决新浪微博返回结果中的中文编码问题
    新浪微博 使用OAuth2.0调用API
    新浪微博 授权机制研究
    hmac库 密钥相关的哈希运算消息认证码
    ValueError: Expecting property name: line 1 column 1 (char 1)
  • 原文地址:https://www.cnblogs.com/tjc1996/p/5713616.html
Copyright © 2020-2023  润新知