ServletConfig与ServletContext

ServletConfig与ServletContext

1. ServletConfig

表示了Servlet的配置信息

ServletConfig对象由Servlet容器创建,在创建Servlet对象时传入init(ServletConfig config)方法中。所以可以利用init方法,重写该方法来获取ServletConfig对象

public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("init()!!");
        this.servletConfig = servletConfig;
    }
作用
1. 获取Servlet对象的名称

可以通过ServletConfig中的getServletName()来获取Servlet对象的名字。

String name = servletConfig.getServletName();
2. 获取Servlet对象的初始化参数

Servlet对象的初始化参数可以在web.xml中servlet标签中定义,使用init-param标签。

<servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.syx.servlet.HelloServlet</servlet-class>
        <init-param>
            <param-name>encode</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </servlet>

可以通过ServletConfig中的getInitParameter(String Parameter)来获取对应参数的值。

String encode = servletConfig.getInitParameter("encode");
System.out.println("encode:"+encode);
3. 获取ServletContext

可以通过ServletConfig中的getServletContext()来获取ServletContext对象。

ServletContext context = servletConfig.getServletContext();

2. ServletContext

意思是Servlet上下文,代表当前Web应用

对象由Servlet容器创建,通过ServletConfig对象获取

作用
1. 获取WEB应用程序的初始化参数

WEB应用程序的初始化参数可以在web.xml中context-param标签中定义

<context-param>
        <param-name>age</param-name>
        <param-value>19</param-value>
</context-param>

可以通过ServletContext中的getInitParameter(String Parameter)来获取对应参数的值。

String age = context.getInitParameter("age");
System.out.println(age);
2. 获取虚拟路径所映射的本地路径

可以通过ServletContext中的getRealPath(String s)来获取本地路径

String realPath = context.getRealPath("index.html");
System.out.println(realPath);
3. application域范围的属性
posted @ 2021-05-31 09:12  锤子布  阅读(73)  评论(0编辑  收藏  举报