标签:初始化 自定义 Config web config servlet getInitParameter Context Servlet
ServletConfig
1.配置环境
:Serlvet的初始化参数:在 web.xml 中的 servlet 标签中可以配置零个或多个 init-param 标签
:init-param 标签用来为当前Servlet配置一些自定义的参数称为Serlvet的初始化参数。
2.详细解说
:当 servlet 配置了初始化参数后,web 容器在创建 servlet 实例对象时,会自动将着写初始化参数封装到 ServletConfig 对象中,之后容器在初始化Servlet 时通过它传递给 Servlet。
3.主要作用
3.1 获取字符集编码: string charset = config.getInitParameter("charset"); 3.2 获取配置文件中的数据库连接信息: String url = config.getInitParameter("url"); String username= config.getInitParameter("username"); String password = config.getInitParameter("password"); 3.3 获取配置文件: String configFile = config.getInitParameter("config");
<servlet> 2 <servlet-name>创建的文件名字</servlet-name> 3 <servlet-class>创建的文件名字所在路径</servlet-class> 4 <!--配置创建文件名字所在路径的初始化参数 --> 5 <init-param> 6 <param-name>自定义1</param-name> 7 <param-value>自定义2</param-value> 8 </init-param> 9 <init-param>10 <param-name>自定义3</param-name>11 <param-value>自定义4</param-value>12 </init-param>13 <init-param>14 <param-name>charset</param-name>15 <param-value>UTF-8</param-value>16 </init-param>17 </servlet>
利用 ServletConfig 完成获取
1 package 刚刚在 web.xml 文件中配置的文件; 2 // 以下是各种导包 3 import java.io.IOException; 4 import java.util.Enumeration; 5 import javax.servlet.ServletConfig; 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse;10 11 public class 文件名 extends HttpServlet {12 // extends 继承13 // HttpServlet1415 16 private ServletConfig config; 1718 @Override19 public void init(ServletConfig config) throws ServletException {20 // this 是指当前调用对象21 // servlet是由Servlet容器负责加载Servlet类,创建Servlet对象并实例化,然后调用Servlet的 22 // init方法,进行初始化之后调用Service方法。实例化和初始化不同。先实例化,再初始化。23 this.config = config;24 }25 // 使用 doGet 方法 读取到文件26 public void doGet(HttpServletRequest request, HttpServletResponse response)27 throws ServletException, IOException {28 // 获取在web.xml中配置的初始化参数29 // getInitParameter 获取指定的初始化参数30 String 自定义接受名字 = this.config.getInitParameter("自定义名字1");31 response.getWriter().print(paramVal);32 35 response.getWriter().print("<hr/>");36 //获取所有的初始化参数37 Enumeration<String> 自定义接受名字 = config.getInitParameterNames();38 while(e.hasMoreElements()){39 String name = 自定义接受名字.nextElement();40 String value = config.getInitParameter(name);41 response.getWriter().print(name + "=" + value + "<br/>");42 }43 }44 45 public void doPost(HttpServletRequest request, HttpServletResponse response)46 throws ServletException, IOException {47 this.doGet(request, response);48 }49 50 }
2.ServletContext
:
:WEB 容器在启动时,他会为每个应用程序都创建一个对应的 ServletContext对象 它代表当前 web 应用。
: 当服务器启动时,会依次加载 web 应用,
: 每一个 web 应用加载完成后都会创建一个只代表该 web 应用的 ServletContext 对象
: web 应用移除容器或服务器关闭时,ServletContext对象随着应用销毁
待续补充
标签:初始化,自定义,Config,web,config,servlet,getInitParameter,Context,Servlet 来源: https://blog.51cto.com/u_15165233/2704085
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。