web.xml中servlet初始化參數的設置


<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>
 <!--name可以是任意的,但一般是類名-->
<servlet-name>MyServlet</servlet>
 <!--class用於指定你的servlet存放的路徑-->
<servlet-class>com.web.MyServlet</servlet-class>
<!--設置各自servlet的初始化參數-->
 <!--參數1-->
<init-param>
<param-name>driver</param-name>
<param-value>com.mysql.jdbc.Driver</param-value>
</init-param>
 <!--參數2-->
<init-param>
<param-name>url</param-name>
<param-value>jdbc:mysql://localhost:3306/mysql</param-value>
</init-param>

</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,按需求來定。

                      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM