<context-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</context-param>
<context-param>
<param-name>param2</param-name>
<param-value>value2</param-value>
</context-param>
這些初始化參數便是整個servletContext的初始化參數,可以有多個,在整個web項目中都可以進行使用,現在一個servlet如果想用到這些初始化參數,只要用servletContext對象的getInitParameter()方法便可以得到這個servletContext的初始化參數
在MYservlet.java文件中可以通過這樣的方式獲得值:
public class MyServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
ServletContext context=this.getServletContext(); //因為它繼承自GenericServlet這個類,依據Tomcat版本不同,可能獲取的方法會有些差異
String value1=context.getInitParameter("param1"); //通過.getInitParameter(String param)獲取初始化參數值
System.out.println("context value1"+value1);
}
}
-------------------------------------------------------------------------------
</servlet>
<servlet-mapping>
<!--同上-->
<servlet-name>MyServlet</servlet-name>
<!--url指定訪問時的路徑,這里的/指的是相對於本項目,在瀏覽器進行訪問時,URI 是:http://localhost:8080/servlet/myServlet-->
//端口號8080/servlet是我的項目名
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
在servlet.java中訪問方式跟獲取context-param中的參數可以比較:
//this指代當前對象
String uri=this.getInitParameter("uri"); //獲取init-param中的value值
String driver=this.getInitParameter("driver"); //獲取init-param中的value值
System.out.println("uri="+uri+" "+"driver="+driver); //打印輸出
綜上所述:
注意: context-param跟init-param里面的參數值只能有一個,多個會報錯。
當我們想要整個web項目中的servlet都要用某一個value值時,可以將它設置成Context-param,這樣可以簡化代碼;如果是單個servlet用的參數,設置成init-param,按需求來定。