init()方法里的這三個,有什么區(qū)別?this.getServletConfig().getInitParameter("username")+"----"+this.getServletContext().getInitParameter("username")+"----"+ this.getInitParameter("username")
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方法執(zhí)行");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post方法執(zhí)行");
}
@Override
public void init() throws ServletException {
System.out.println(this.getServletConfig().getInitParameter("username")+"----"+this.getServletContext().getInitParameter("username")+"----"+ this.getInitParameter("username"));
}
}
2016-05-20
getServletConfig()??
??? 在servlet初始化時,容器傳遞進來一個ServletConfig對象并保存在servlet實例中,該對象允許訪問兩項內容:初始化參數(shù)和
?
ServletContext對象,前者通常由容器在文件中指定,
?
允許在運行時向sevrlet傳遞有關調度信息,比如說getServletConfig().getInitParameter("debug")后者為servlet提供有關容器的信息。
此方法可以讓servlet在任何時候獲得該對象及配置信息。??
getServletContext()??
?? 一個servlet可以使用getServletContext()方法得到web應用的servletContext??
??? 即而使用getServletContext的一些方法來獲得一些值??
??? 比如說getServletContext().getRealPath("/")來獲得系統(tǒng)絕對路徑??
?????????????? getServletContext().getResource("WEB-INF/config.xml")來獲得xml文件的內容
?
getServletContext()取得的是 <context-param>配置的參數(shù)?
?????????????? getServletConfig()取得的是 <servlet> <init-param>配置的參數(shù)
?????????? 2: getServletContext()應用于整個web App,而getServletConfig()僅應用于當前Servlet。 但是ServletConfig對象擁有ServletContext的引用。所以可以通過getServletConfig()來獲得web App的
?初始值。