Servlet——ClassLoader获取资源文件

ClassLoader需要理解相对路径跟绝对路径,如在src下的file文件路径为:src/file
绝对路径"保存在哪个盘://work/ServletRegister/Demo/src/file"

java代码

private void text03() {
		try {
			
			//1.创建属性对象
			Properties properties = new Properties();
			
			//获取该java文件的class,然后获取到加载这个class到虚拟机中的那个类加载器对象
			
			InputStream is = this.getClass().getClassLoader().getResourceAsStream("../../file/config.properties");
			properties.load(is);
			
			//获取name属性的值
			String name = properties.getProperty("name");
			System.out.println("name2="+name);
			is.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}

xml配置

<?xml version="1.0" encoding="UTF-8"?>
<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">
  <display-name>ServletRegister</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  
  <!-- 全局参数:哪个servlet都可以拿,用于配置全局的变量 -->
  <context-param>
  	<param-name>address</param-name>
  	<param-value>shenzhen</param-value>
  </context-param>
  
  
  <servlet>
  	<display-name>Demo</display-name>
  	<servlet-name>Demo</servlet-name>
  	<servlet-class>com.itheima.servlet.Demo</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>Demo</servlet-name>
  	<url-pattern>/Demo</url-pattern>
  </servlet-mapping>
  
</web-app>

全部变量配置

<!-- 全局参数:哪个servlet都可以拿,用于配置全局的变量 -->
  <context-param>
  	<param-name>address</param-name>
  	<param-value>shenzhen</param-value>
  </context-param>

正在尝试写博客,把会的分享给你们,如有写的不好的地方,希望指点一下,喜欢的朋友们请点个赞,谢谢!

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/88718245