<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 使用初始化參數配置 Java Web 應用程序 > 原文: [https://javatutorial.net/java-init-parameters](https://javatutorial.net/java-init-parameters) 本示例演示了使用初始化參數來配置 [Java](https://javatutorial.net/install-java-9-eclipse) Web 應用程序 初始化參數非常適合設置變量,將來可能需要更改。 例如,您可以使用初始化參數來存儲數據庫連接或存儲外部 API 密鑰或 URL。 使用初始化參數的好處是,您可以輕松更改配置,而無需重新編譯整個應用程序。 ![Using init-param and context-param to configure Java web apps](https://img.kancloud.cn/21/a1/21a17156f7b5b46968d3850249c34c7c_780x330.jpg) 使用`init-param`和`context-param`配置 Java Web 應用程序 ## 注解與部署描述符 在前面的示例中,我們演示了使用[注解配置 Servlet](https://javatutorial.net/servlet-annotation-example) 的用法。 盡管您可以使用注解來設置初始化參數,但我不建議您這樣做。 原因是,如果使用注解來設置初始化參數,則每次需要更改參數時都必須重新編譯應用程序。 使用部署描述符來設置初始化參數要好得多。 一旦將初始化參數值放入`web.xml`文件中并需要更改它們,您要做的就是用更改后的值重新啟動應用程序。 無需重新編譯,無需重新部署! ## `@WebInitParam`注解 下面的示例顯示 Servlet 聲明中`@WebInitParam`注解的用法 ```java @WebServlet( name = "servletParamAnnotation", urlPatterns = {"/servletParamAnnotation"}, initParams = { @WebInitParam(name = "server", value = "https://javatutorial.net"), @WebInitParam(name = "api-key", value = "h6Thd5guE4Kl12g3") } ) public class InitParamServletAnnotations extends HttpServlet { // ... } ``` 如前所述,如果您選擇設置初始化參數,則需要重新編譯和重新部署應用程序。 ## 上下文初始化參數 如果要在整個應用程序中共享參數,那么上下文初始化參數是一個很好的選擇。 應用程序中的每個 Servlet 都共享這些初始化參數,并且它們的值在所有 Servlet 中都相同。 您可以使用以下`<context-param>`,`<param-name>`和`<param-value>`標記在`web.xml`文件中設置上下文參數: ```java <context-param> <param-name>url</param-name> <param-value>https://javatutorial.net</param-value> </context-param> <context-param> <param-name>api-key</param-name> <param-value>h6Thd5guE4Kl12g3</param-value> </context-param> ``` 稍后,您可以像這樣簡單地在 servlet 或其他組件中使用此參數: ```java package net.javatutorial.tutorials; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletContextParams extends HttpServlet { private static final long serialVersionUID = -3462096555274971485L; @Override protected void doGet(HttpServletRequest reqest, HttpServletResponse response) throws ServletException, IOException { ServletContext c = this.getServletContext(); PrintWriter writer = response.getWriter(); writer.append("URL: ").append(c.getInitParameter("url")).append(", API KEY: ") .append(c.getInitParameter("api-key")); } } ``` ## Servlet 初始化參數 `web.xml`文件中的`<init-param>`標記創建特定于給定 Servlet 的初始化參數。 ```java <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>Servlet with Init Parameters</display-name> <servlet> <servlet-name>servletInitParams</servlet-name> <servlet-class>net.javatutorial.tutorials.ServletInitParams</servlet-class> <init-param> <param-name>url</param-name> <param-value>https://javatutorial.net</param-value> </init-param> <init-param> <param-name>api-key</param-name> <param-value>h6Thd5guE4Kl12g3</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>servletInitParams</servlet-name> <url-pattern>/servletInitParams</url-pattern> </servlet-mapping> </web-app> ``` 在您的 Servlet 中,您可以像這樣調用參數: ```java package net.javatutorial.tutorials; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletInitParams extends HttpServlet { private static final long serialVersionUID = -1242096555274971485L; @Override protected void doGet(HttpServletRequest reqest, HttpServletResponse response) throws ServletException, IOException { ServletConfig c = this.getServletConfig(); PrintWriter writer = response.getWriter(); writer.append("URL: ").append(c.getInitParameter("url")).append(", API KEY: ") .append(c.getInitParameter("api-key")); } } ``` 注意上下文參數之間的區別,它們的用法如下: ```java ServletContext c = this.getServletContext(); ``` 和初始化參數: ```java ServletConfig c = this.getServletConfig(); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看