在Servlet开发中,一般很少使用Servlet输出数据,所以需要转发机制实现Servlet向JSp等等的转发,使用Servletontext就能完成这个功能,代码如下
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文件的读取和输出,先把配置文件的内容写出来
url=jdbc:mysql://localhost:3306/test
username=root
password=root
代码如下
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 {
}
}
一定要注意路径的问题。。。。。