在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 { } }
一定要注意路径的问题。。。。。