ServletConfig对象对应web.xml文件中的
通过ServletConfig获取Servlet的初始化参数
当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递给servlet。进而,我们通过ServletConfig对象就可以得到当前servlet的初始化参数信息。
例子:
1 | //这是获取servlet的配置信息 |
Web.xml
1 | <!-- 配置和映射 Servlet --> |
运行结果如下:
user:123
user:464
password:root
password:user
ServletConfig_Study
ServletConfig对象的方法
getInitParameterNames()方法、getInitParameter()方法、getServletName()方法、getServletContext()方法,getServletContext()方法非常重要。
getInitParameterNames()方法
getInitParameterNames()方法用于获取参数的名字,返回值为Enumeration
例子:
1 | Enumeration<String> name = config.getInitParameterNames(); |
getInitParameter()方法
getInitParameter()方法用于获取参数名的值,返回值为String类型。
例子:
1 | String user = config.getInitParameter("user"); |
getServletName()方法
getServletName()用于获取服务器名称(了解即可),返回值String类型。
例子:
1 | String ServletName = config.getServletName(); |
getServletContext()方法
ServletContext 可以由 SerlvetConfig对象 获取:
1 | //config是 SerlvetConfig对象 |
该对象代表当前 WEB 应用: 可以认为 SerlvetContext 是当前 WEB 应用的一个大管家. 可以从中获取到当前 WEB 应用的各个方面的信息.
①获取当前 Web 应用的初始化参数
设置初始化参数: 可以为所有的 Servlet 所获取, 而 Servlet 的初始化参数只用那个 Serlvet 可以获取.
1 | <!-- 配置当前 Web 应用的初始化参数 --> |
代码:
1 | //获取ServletContext对象 |
结果:
driver:com.mysql.jdbc.Driver
jdbcurl:jdbc:mysql://localhost:3306/text
name:driver
name:jdbcurl
②获取当前 WEB 应用的某一个文件在服务器上的绝对路径, 而不是部署前的路径
1 | tring realPath = servletContext.getRealPath("/note.txt"); |
③获取当前 WEB 应用的名称
1 | String contextPath = servletContext.getContextPath(); |
④获取当前 WEB 应用的某一个文件对应的输入流.
1 | //getResourceAsStream(String path): path 的 / 为当前 WEB 应用的根目录. |