init-param和context-param 中獲取數據的一個問題

init-param  中的數據是要在制定的 servlet 下才能取的到數據的程序員

其中獲取 init-param  的能夠用 這樣的一個方式去獲取web

ServletConfig config = getServletConfig();
String name = config.getServletName("name")

 

或者在init方法中獲取app

public void init(ServletConfig config) throws ServletException {
     config.getInitParameter("name");
     super.init(config);
}

這兩種獲取額方式都要在web.xml  中配置對應的一個訪問路徑 ide

貼上web.xml中的配置 url

<servlet>
     <servlet-name>test</servlet-name>
     <servlet-class>com.chen.servlet.MainServlet</servlet-class>
     <init-param>
         <param-name>username</param-name>
         <param-value>admin</param-value>
     </init-param>
</servlet>

 <servlet-mapping>
        <servlet-name>test</servlet-name>
        <url-pattern>/test</url-pattern>
 </servlet-mapping>

若要獲取到 <init-param> 標籤中的   init-param  值在訪問的時候就必需要同/test 這樣的對應路徑去訪問spa

程序員最不喜歡作的事情應該就是寫一樣的東西,還要寫上好多份了吧,因而就有人用註解的方式去寫發現取不到 <init-param標籤內的值code

<context-param> 中的數據xml

    <context-param>
        <param-name>user</param-name>
        <param-value>user</param-value>
    </context-param>

貼上servlet 的代碼blog

@WebServlet("/te")
public class MainServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 
        ServletConfig config = getServletConfig();
        config.getInitParameterNames();  //獲取 init-param 中的全部數據  
        String user = getInitParameter("user");  //獲取指定的一個數據
getServletContext().getInitParameter("user") //獲取 <context-param> 中的數據
} }

 

這邊會犯的一個錯誤就是用註解的方式訪問的時候回去獲取 <init-param> 標籤中的數據 ,其中的 getServletConfig() 是能夠獲取到許多有項目的基本信息的。get

相關文章
相關標籤/搜索