init()方法里的这三个,有什么区别?this.getServletConfig().getInitParameter("username")+"----"+this.getServletContext().getInitParameter("username")+"----"+ this.getInitParameter("username")

来源:2-1 获取初始化参数

linbingfeng

2016-05-16 19:15

public class MyFirestServlet extends HttpServlet {


private static final long serialVersionUID = 1L;


@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println("get方法执行");

}


@Override

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println("post方法执行");

}


@Override

public void init() throws ServletException {

System.out.println(this.getServletConfig().getInitParameter("username")+"----"+this.getServletContext().getInitParameter("username")+"----"+ this.getInitParameter("username"));

}

}



写回答 关注

1回答

  • 在路上漫爆
    2016-05-20 00:54:04
    已采纳

    getServletConfig()  
        在servlet初始化时,容器传递进来一个ServletConfig对象并保存在servlet实例中,该对象允许访问两项内容:初始化参数和
     
    ServletContext对象,前者通常由容器在文件中指定,
     
    允许在运行时向sevrlet传递有关调度信息,比如说getServletConfig().getInitParameter("debug")后者为servlet提供有关容器的信息。
    此方法可以让servlet在任何时候获得该对象及配置信息。  

    getServletContext()  

       一个servlet可以使用getServletContext()方法得到web应用的servletContext  
        即而使用getServletContext的一些方法来获得一些值  
        比如说getServletContext().getRealPath("/")来获得系统绝对路径  
                   getServletContext().getResource("WEB-INF/config.xml")来获得xml文件的内容
     
    getServletContext()取得的是 <context-param>配置的参数 
                   getServletConfig()取得的是 <servlet> <init-param>配置的参数

               2: getServletContext()应用于整个web App,而getServletConfig()仅应用于当前Servlet。 但是ServletConfig对象拥有ServletContext的引用。所以可以通过getServletConfig()来获得web App的
     初始值。

    linbin...

    谢谢!

    2016-05-20 14:18:21

    共 1 条回复 >

JAVA遇见HTML——Servlet篇

本门课程在JSP课程的基础上,深入介绍Servlet的基础知识

160615 学习 · 1029 问题

查看课程

相似问题