ServletContext实现转发和读取Properties配置文件

来源:互联网 发布:京东校招 java 面经 编辑:程序博客网 时间:2024/05/13 07:34

在Servlet开发中,一般很少使用Servlet输出数据,所以需要转发机制实现Servlet向JSp等等的转发,使用Servletontext就能完成这个功能,代码如下

[java] view plaincopyprint?
  1. package com.bird.servlet;  
  2.   
  3. import java.io.IOException;  
  4. /** 
  5.  * @use 使用ServletContext实现请求的转移 
  6.  * @author Bird 
  7.  */  
  8. import javax.servlet.RequestDispatcher;  
  9. import javax.servlet.ServletException;  
  10. import javax.servlet.http.HttpServlet;  
  11. import javax.servlet.http.HttpServletRequest;  
  12. import javax.servlet.http.HttpServletResponse;  
  13.   
  14. public class ServletDemo5 extends HttpServlet {  
  15.   
  16.     private static final long serialVersionUID = 1L;  
  17.   
  18.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  19.             throws ServletException, IOException {  
  20.           
  21.         String data = "aaaaaaaa";  
  22.         //数据带给JSP  
  23.         this.getServletContext().setAttribute("data", data);  
  24.           
  25.         RequestDispatcher re = this.getServletContext().getRequestDispatcher("/1.jsp");//转发对象  
  26.         re.forward(request, response);  
  27.     }  
  28.   
  29.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  30.             throws ServletException, IOException {  
  31.   
  32.           
  33.     }  
  34.   
  35. }  



下面的代码为使用ServletContext实现对Properties文件的读取和输出,先把配置文件的内容写出来

[html] view plaincopyprint?
  1. url=jdbc:mysql://localhost:3306/test  
  2. username=root  
  3. password=root  

代码如下

[java] view plaincopyprint?
  1. package com.bird.servlet;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.InputStream;  
  5. import java.util.Properties;  
  6.   
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.   
  12. public class ServletDemo6 extends HttpServlet {  
  13.   
  14.     /** 
  15.      * @use 使用Servlet读取配置文件信息 
  16.      * @author Bird 
  17.      */  
  18.     private static final long serialVersionUID = 1L;  
  19.   
  20.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  21.             throws ServletException, IOException {  
  22.         //读取配置文件信息,其中配置文件为Properties  
  23.         InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");  
  24.           
  25.         Properties pro = new Properties();  
  26.         pro.load(in);  
  27.           
  28.         String url = pro.getProperty("url");  
  29.         String username = pro.getProperty("username");  
  30.         String password = pro.getProperty("password");  
  31.           
  32.         System.out.println(url);  
  33.         System.out.println(username);  
  34.         System.out.println(password);  
  35.           
  36.     }  
  37.       
  38.   
  39.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  40.             throws ServletException, IOException {  
  41.   
  42.     }  
  43.   
  44. }  

一定要注意路径的问题。。。。。
0 0