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