首页 > 代码库 > ServletConfig和ServletContext对象
ServletConfig和ServletContext对象
1由于一个WEB应用程序中的所有Servlet都共享同一个对应的ServletContext对象,所以ServletContext对象被称为application对象。是当前web应用的大管家,可以获取到web应用的各个信息
package servlet;import java.io.IOException;import java.io.InputStream;import java.util.Enumeration;import javax.servlet.ServletConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class HelloServlet extends HttpServlet { /** * Constructor of the object. */ public HelloServlet() { super(); System.out.println("constructor"); } public void init(ServletConfig servletconfig) throws ServletException { // ServletConfig常用方法 String v = servletconfig.getInitParameter("user:"); // String v = this.getInitParameter("user:"); // //也行,因为HttpServlet是ServletConfig的实现类,所以可以用this调用该方法 System.out.println("method1:" + v); System.out.println("init"); // Enumeration<String> en = this.getInitParameterNames(); Enumeration<String> en = servletconfig.getInitParameterNames(); while (en.hasMoreElements()) { String names = en.nextElement(); String values = servletconfig.getInitParameter(names); System.out.println(names + "-->" + values); } System.out.println(""); // ServletContext常用方法 ServletContext sct = servletconfig.getServletContext(); String svalue = sct.getInitParameter("driver"); System.out.println(svalue); // 获取当前文件在web服务器上的绝对路径 String str = sct.getRealPath("/file1.txt"); System.out.println(str); // 获取当前web应用名称 String conp = sct.getContextPath(); System.out.println(conp); try { InputStream is = sct .getResourceAsStream("/WEB-INF/classes/xml.properties"); // 路径是相对当前web应用的路径 System.out.println(is); } catch (Exception ex) { ex.printStackTrace(); } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doGet"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("dopost"); } public void destroy() { super.destroy(); // Just puts "destroy" string in log // Put your code here System.out.println("destroy"); }}
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <context-param> <param-name>driver</param-name> <param-value>jdbc.odbc</param-value> </context-param> <servlet> <servlet-name>HelloServlet</servlet-name> <servlet-class>servlet.HelloServlet</servlet-class> <!--设置局部初始化参数 --> <init-param> <param-name>user:</param-name> <param-value>wuyj</param-value> </init-param> <init-param> <param-name>password:</param-name> <param-value>123</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/servlet/HelloServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list></web-app>
结果:
constructor
method1:wuyj
init
password:-->123
user:-->wuyj
jdbc.odbc
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\sdf\file1.txt
/sdf
java.io.FileInputStream@1a3551c
ServletConfig和ServletContext对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。