Servlet-ServletConfig

在 Servlet 容器初始化 Servlet 时,Servlet 容器将 ServletConfig 传给 Servlet 的 init 方法。ServletConfig 封装可以通过 @WebServlet 或 web.xml 传给一个 Servlet 的配置信息。以这种方式传递的每一条信息都称作初始参数,初始参数有两个组成部分:键和值。

getInitParameter

从 Servlet 内部获取某个初始参数的值,应该在 由 Servlet 容器传给 Servlet 的 init 方法的 ServletConfig 中调用 getInitParameter 方法

获取参数值:String contactName = servletConfig.getInitParameter("contactName");

getServletContext

从 Servlet 内部获取 ServletContext

package app01a;

import javax.servlet.*;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(name = "ServletConfigDemoServlet",
urlPatterns = {"/servletConfigDemo"},
initParams = {
        @WebInitParam(name="admin", value="Harry Potter"),
        @WebInitParam(name="email", value="admin@example.com")
})
public class ServletConfigDemoServlet implements Servlet {
    private transient ServletConfig servletConfig;

    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        this.servletConfig = servletConfig;
    }

    @Override
    public ServletConfig getServletConfig() {
        return servletConfig;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        ServletConfig servletConfig = getServletConfig();
        String admin = servletConfig.getInitParameter("admin");
        String email = servletConfig.getInitParameter("email");
        servletResponse.setContentType("text/html");
        PrintWriter writer = servletResponse.getWriter();
        writer.print("<html><head></head><body>" + "admin:" + admin + "<br/>Email:" + email + "</body></html>");
    }

    @Override
    public String getServletInfo() {
        return "ServletConfig demo";
    }

    @Override
    public void destroy() {

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值