加载web资源文件

servlet编程:

  1.servlet生命周期:

  构造方法:创建servlet对象。默认情况下,第一次访问servlet对象时。只调用一次。

  init方法(有参):创建完servlet对象后调用。只调用一次。

          注意:会调用无参的init方法

  servlet方法:servlet提供服务的方法,每次发出请求调用。

          注意:request对象,response对象

  destory方法:tomcat服务器停止或web应用重新部署,servlet对象销毁,destory方法被调用

  2.servletConfig对象

    getinitParameter("参数")    ---------------------获取servlet初始化参数

    getinitParameterNames()    

  3.servletContext对象

    getContextPath()  得到web引用路径

    HttpServlteRequest.getContextPath()  得到web的引用路径

    getinitParameter("name")  得到全局初始化参数

    作为域对象:

      setAttribute("name",object)  保存数据

      getAttribute("name")  得到数据

      removeAttribute("name")  清除数据

    转发:getRequestDispatcher("路径").forward(request,response); 

       request.getRequestDispatcher("路径").forward(request,response);  

    得到web应用的资源文件

      context.getRealPath("路径")

      context.getResourceAsStream("路径")

 1 package com.java.path;
 2 
 3 import java.io.File;
 4 import java.io.FileInputStream;
 5 import java.io.IOException;
 6 import java.io.InputStream;
 7 import java.util.Properties;
 8 import javax.servlet.ServletException;
 9 import javax.servlet.http.HttpServlet;
10 import javax.servlet.http.HttpServletRequest;
11 import javax.servlet.http.HttpServletResponse;
12 
13 /**
14  * 读取web应用下的资源文件(例如properties)
15  * 
16  * @author syousetu
17  *
18  */
19 public class Resource extends HttpServlet {
20 
21     protected void doGet(HttpServletRequest request, HttpServletResponse response)
22             throws ServletException, IOException {
23 
24         /**
25          * .  代表相对路径中的当前路径。相对于java命令运行的目录
26             结论:
27                 在java项目中,.代表在java项目的根目录下开始
28                 web项目中,java运行命令在tomcat的bin目录下
29                 所以 ,这里的.代表tomcat/bin
30          */
31 //        这种不能用
32 //        File file = new File("./src/db.properties");
33 //        FileInputStream in = new FileInputStream(file);
34 
35         /**
36          * 使用web应用下加载资源文件的方式
37          */
38         
39         /**
40          * 1.使用getRealPath()
41          * 资源由服务器去找,src下的文件全部会copy一份放入WEB-INF下的classes中
42          */
43 //        //返回资源文件的绝对路径
44 //        String path = this.getServletContext().getRealPath("/WEB-INF/classes/db.properties");
45 //        File file = new File(path);
46 //        FileInputStream in = new FileInputStream(file);
47         
48         /**
49          *2. getResourseAsStream() 得到资源文件,返回的是输入流
50          */
51         InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");
52         
53         
54         
55         
56         Properties prop = new Properties();
57         
58         //读取资源文件
59         prop.load(in);
60         String user = prop.getProperty("user");
61         String password = prop.getProperty("password");
62         System.out.println("user:"+user);
63         System.out.println("password:"+password);
64         
65         
66     }
67 
68 }

db.properties

1 user=root
2 password=root

 

原文地址:https://www.cnblogs.com/syousetu/p/6542094.html