JavaWeb核心编程之(三.3)Servlet Init 配置


Servlet初始化 可以传入一些参数 通过 <init-param>来配置

新建 servletinit项目

新建包 com.xiaoan.test->new Class(TestInit.java)

 1 package com.xiaoan.test;
 2 
 3 import java.io.IOException;
 4 import java.util.Enumeration;
 5 
 6 import javax.servlet.Servlet;
 7 import javax.servlet.ServletConfig;
 8 import javax.servlet.ServletException;
 9 import javax.servlet.ServletRequest;
10 import javax.servlet.ServletResponse;
11 
12 public class TestInit implements Servlet{
13 
14     @Override
15     public void destroy() {
16         // TODO Auto-generated method stub
17         
18     }
19 
20     @Override
21     public ServletConfig getServletConfig() {
22         // TODO Auto-generated method stub
23         return null;
24     }
25 
26     @Override
27     public String getServletInfo() {
28         // TODO Auto-generated method stub
29         return null;
30     }
31 
32     @Override
33     public void init(ServletConfig arg0) throws ServletException {
34         //通过参数名获取参数值
35         String username = arg0.getInitParameter("username");
36         System.out.println("username: " + username);
37         
38         //获得所有的参数名       String 对象的 Enumeration
39         Enumeration<String> paramName = arg0.getInitParameterNames();
40         while(paramName.hasMoreElements()){
41             String param = paramName.nextElement();
42             String paramvalue = arg0.getInitParameter(param);
43             System.out.println(param + ": " + paramvalue);
44         }
45         
46         //获得servletname   了解
47         String servletname = arg0.getServletName();
48         System.out.println("servletName: " + servletname);
49     }
50 
51     @Override
52     public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
53         // TODO Auto-generated method stub
54         
55     }
56 
57 }

配置web.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
 3   <display-name>servletinit</display-name>
 4   
 5   
 6   <servlet>
 7       <servlet-name>si</servlet-name>
 8       <servlet-class>com.xiaoan.test.TestInit</servlet-class>
 9       
10       <init-param>
11           <param-name>username</param-name>
12           <param-value>xiaoan</param-value>
13       </init-param>
14       <init-param>
15           <param-name>password</param-name>
16           <param-value>123456</param-value>
17       </init-param>
18       
19       <load-on-startup>1</load-on-startup>
20   </servlet>
21   <servlet-mapping>
22       <servlet-name>si</servlet-name>
23       <url-pattern>/si</url-pattern>
24   </servlet-mapping>
25 </web-app>

 

@Override
public void init(ServletConfig arg0) throws ServletException {

}
参数中ServletConfig: 封装了Servlet的配置信息, 并可以获取到ServletContext对象

1>配置Servlet的初始化参数
在<servlet>里面配置Servlet的初始化参数,并且必须放到load-on-startup的前面
<init-param>
<param-name>key</param-name>
<param-value>val</param-value>
</init-param>
按照以上格式可以配置多个初始化参数

2>获取初始化参数
获取初始化参数值
getInitParameter(String name)
以 String 对象的 Enumeration 的形式返回 servlet 的初始化参数的名称
getInitParameterNames()
返回此 servlet 实例的名称
getServletName()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM