Servlet菜逼学习笔记(二)

1.ServletConfig:封装了Servlet的配置信息,并且可以获取ServletContext对象

(1).配置Servlet 的初始化参数:<init-param>必须放在<load-on-startup>前面

<init-param>
<param-name>user</param-name>
<param-value>root</param-value>
</init-param>

<init-param>
<param-name>password</param-name>
<param-value>1230</param-value>
</init-param>

<load-on-startup>1</load-on-startup>

(2)获取初始化参数:

getInitParameter(String name):获取指定参数名的初始化参数

getInitParameterNames():获取参数名组成的Enumeration对象。

示例:

public void doGet(HttpServletRequest request, HttpServletResponse response)
15             throws ServletException, IOException {
16 
17         ServletConfig config = this.getServletConfig();  //拿到init方法中的ServletConfig对象
18 
19         // --获取当前Servlet 在web.xml中配置的名称(用的不多)
20          String sName = config.getServletName();
21          System.out.println("当前Servlet 在web.xml中配置的名称:"+sName);
22          
23         // --获取当前Servlet中配置的初始化参数(只能获取一个)经常用到
24          String value = config.getInitParameter("name2");
25          System.out.println(value);
26 
27         // --获取当前Servlet中配置的初始化参数(全部获取)经常用到
28          Enumeration enumration = config.getInitParameterNames();
29          while(enumration.hasMoreElements()){
30          String name = (String) enumration.nextElement();
31          String value = config.getInitParameter(name);
32          System.out.println(name+":"+value);
33          }
34     }
35 
36     public void doPost(HttpServletRequest request, HttpServletResponse response)
37             throws ServletException, IOException {
38         doGet(request, response);
39     }


2.ServletContext接口

(1)可以由ServletConfig 获取

ServletContext servletContext = servletConfig.getServletContext();

(2)该对象代表当前WEB应用:可以认为ServletContext是当前WEB应用的一个大管家,可以获取WEB应用的各个方面的信息。

获取当前WEB应用的初始化参数:

getInitParameter

getInitParameterNames

代码:

ServletContext servletContext = servletConfig.getServletContext();
String driver = servletContext.getInitParameter("driver");
System.out.println("driver"+driver);
Enumeration<String> names2 = servletContext.getInitParameterNames();
while(names2.hasMoreElements()){
String name = names2.nextElement();
System.out.println("-->"+name);

}

获取当前WEB应用的某个文件的绝对路径:

getRealPath(String Path);

获取当前WEB应用的名称:

getContextpath();

代码:String contextPath = servletContext.getContextPath();
System.out.println(contextPath);

获取当前WEB应用的某个文件对应的输入流

getResourceAsStream(String path)

代码:ClassLoader calssLoader = getClass().getClassLoader();
InputStream is =ClassLoader.getSystemResourceAsStream("jdbc.properties");
System.out.println("1."+is);

猜你喜欢

转载自blog.csdn.net/rhhboring/article/details/80182417