JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径

本系列博客汇总在这里:JavaWeb_servlet 汇总

目录

  • 通过 ServletContex 获得类路径下的文件路径


通过 ServletContex 获得类路径下的文件路径

JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径_第1张图片

  1. demo1
    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径_第2张图片

  2. web.xml
    JavaWeb_servlet(11)_ 通过 ServletContex 获得类路径下的文件路径_第3张图片

  3. 启动 Tomcat

  4. 测试
    在这里插入图片描述

  5. 以上操作完整源码

    package com.wyx.servlet;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class demo1 extends HttpServlet
    {
    	@Override
    	public void init(ServletConfig config) throws ServletException
    	{
    		// 获得到ServletContext对象
    		ServletContext sc = config.getServletContext();
    		// 获得 classpath 下的资源的文件的流,用于 classpath 下的文件发布之后是在/WEB-INF/classes下,
    		// 所以去指定/WEB-INF/classes/test1.properties
    		// InputStream in = sc.getResourceAsStream("/WEB-INF/classes/test1.properties");
    		// 使用类加载器的方式来读取 classpath 下的资源文件,好处不依赖与ServletContext,任何类都可以获得classpath下的资源文件,
    		// 不需要再自己指定/WEB-INF/classes
    		InputStream in = this.getClass().getClassLoader().getResourceAsStream("test1.properties");
    		Properties prop = new Properties();
    		try
    		{
    			prop.load(in);
    			System.out.println(prop.get("key"));
    		} catch (IOException e)
    		{
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    
    	@Override
    	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    			throws ServletException, IOException
    	{
    	}
    }
    
    
    <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_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>servlet_demodisplay-name>
      
      
      <context-param>
      	<param-name>context_keyparam-name>
      	<param-value>context_valueparam-value>
      context-param>
      
       <servlet>
      	
      	<servlet-name>helloServletservlet-name>
      	
      	<servlet-class>com.wyx.servlet.demo1servlet-class> 	
      servlet>
      
      <servlet-mapping>
        <servlet-name>helloServletservlet-name>
        <url-pattern>/hellourl-pattern>
      servlet-mapping>
      
    web-app>
    

    工程文件下载

如有错误,欢迎指正!

你可能感兴趣的:(servlet(更新完))