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



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

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

 

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

 

package com.bird.servlet;

import java.io.IOException;
/**
 * @use 使用ServletContext实现请求的转移
 * @author Bird
 */
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo5 extends HttpServlet {

	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		String data = "aaaaaaaa";
		//数据带给JSP
		this.getServletContext().setAttribute("data", data);

		RequestDispatcher re = this.getServletContext().getRequestDispatcher("/1.jsp");//转发对象
		re.forward(request, response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}

}

 

 

 

 

 

 

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


 

  1. url=jdbc:mysql://localhost:3306/test
  2. username=root
  3. password=root

 

url=jdbc:mysql://localhost:3306/test
username=root
password=root

 
代码如下

 

 

 

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

 

package com.bird.servlet;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletDemo6 extends HttpServlet {

	/**
	 * @use 使用Servlet读取配置文件信息
	 * @author Bird
	 */
	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//读取配置文件信息,其中配置文件为Properties
		InputStream in = this.getServletContext().getResourceAsStream("/WEB-INF/classes/db.properties");

		Properties pro = new Properties();
		pro.load(in);

		String url = pro.getProperty("url");
		String username = pro.getProperty("username");
		String password = pro.getProperty("password");

		System.out.println(url);
		System.out.println(username);
		System.out.println(password);

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

	}

}

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