如何通過Servlet獲取定義在web.xml中的初始化引數
先理一理大致的流程,我們的目的是客戶端通過jsp頁面請求web.xml中的資料。
首先,我們得在web.xml中定義初始化資料吧,不然使用者就要請求空資料了。
那麼,說到web.xml,究竟是個什麼玩意呢?我也不是很清楚,也沒怎麼了解。
我只知道它是一個和web工程有關的配置文件,今天我們只要用到它配置一下Servlet就好了。
接下來,我們就建立這個web.xml吧。如何建立?很簡單,只要建立一個Servlet,順帶勾選建立web.xml的選項就好了。
在哪裡建立servlet?咋感覺你的問題一大堆啊,哥。哈哈哈!
在web工程Src資料夾下的任意位置都可以建立啊。那麼問題又來了,,,
哥,別說了。我知道,web工程在哪裡建立,對不對?
對你個大頭鬼啊,web工程都不會建立,你還寫什麼web,這是最基礎的好不好。
開篇到這裡也就差不多了,沒辦法,有些人就是那麼傻,哈哈哈,下面我從建立Web工程專案開始,給出整個例項的過程。
1 建立一個Web projecet,命名為 ServletGetInitParameter
2 修改 WebRoot -> index.jsp 的body內容為
<body>
<h1>獲取初始化引數示例</h1><br>
<a href="servlet/GetInitParameter" >獲取初始化引數</a>
</body>
3 在src下建一個包,在包下面建一個servlet類,命名為 GetInitParameter,當建立完之後在WebRoot->WEB-INF 下面就會生成web.xml。
4 開啟web.xml,裡面已經有servlet的預設配置了。要新增的自定義資料就載入裡面。
新增自定義資料前servlet預設配置
<servlet>
<description>This is the description of my J2EE component</description>
<display-name >This is the display name of my J2EE component</display-name>
<servlet-name>GetInitParameter</servlet-name>
<servlet-class>servlet.GetInitParameter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GetInitParameter</servlet-name>
<url-pattern>/servlet/GetInitParameter</url-pattern>
</servlet-mapping>
新增自定義資料後的servlet預設配置,加了,其中包含了username變數和password變數的值。admin,123456
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>GetInitParameter</servlet-name>
<servlet-class>servlet.GetInitParameter</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>admin</param-value>
</init-param>
<init-param>
<param-name>password</param-name>
<param-value>123456</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>GetInitParameter</servlet-name>
<url-pattern>/servlet/GetInitParameter</url-pattern>
</servlet-mapping>
5 在GetInitParameter Servlet 類中新增兩個私有變數,username和password並建立各自的setter和getter方法。username和password分別用來儲存web.xml中自定義的資料。
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
5 在init()方法中新增以下程式碼。getInitParameter()方法是獲取web.xml中屬於的介面方法。
public void init() throws ServletException {
// Put your code here
this.setUsername(this.getInitParameter("username"));
this.setPassword(this.getInitParameter("password"));
}
6 在doGet方法中新增以下程式碼。
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("使用者名稱:"+this.username+"<br>");
out.println("密碼:"+this.password);
7 文件通通儲存。部署web工程並啟動tomcat伺服器。
開啟瀏覽器,輸入url:http://127.0.0.1:10086/ServletGetInitParameter/index.jsp
這邊要說的是,伺服器埠可以自己定義。我改的是10086,預設埠是8080。
正常的介面應該如下
點選 獲取初始化引數
8 完了,就這樣,例項演示完畢!我剛剛乾了一件事情,我把之前圖片上的水印都去掉了。