JavaWeb学习笔记----Servlet的ServletConfig对象和ServletContext对象的使用
2016-08-01 20:58
716 查看
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--配置当前的WEB应用的初始化参数--> <context-param> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </context-param> <context-param> <param-name>jdbcUrl</param-name> <param-value>jdbc:mysql:///test</param-value> </context-param> <!--配置Servlet--> <servlet> <!--Servlet注册的名字--> <servlet-name>helloWorld</servlet-name> <!--Servlet的全类名--> <servlet-class>cn.limbo.servlet.HelloWorld</servlet-class> <!-- 指定Servle被创建的时机 ,若为负数,则在第一次请求被创建 若>=0,则在当前WEB应用中被Servlet容器加载的时候创建实例。 且值越小越先被创建 --> <init-param> <param-name>user</param-name> <param-value>root</param-value> </init-param> <init-param> <param-name>password</param-name> <param-value>123456</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <!--需要和某一个Servlet节点的的servlet-name子节点的文本一致--> <servlet-name>helloWorld</servlet-name> <!--映射具体访问的路径: /表示当前WEB应用的根目录--> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>HelloWorld.java
package cn.limbo.servlet; import javax.servlet.*; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; /** * Created by Limbo on 16/7/30. */ public class HelloWorld implements Servlet { @Override public void init(ServletConfig servletConfig) throws ServletException { System.out.println("init"); String user = servletConfig.getInitParameter("user"); String password = servletConfig.getInitParameter("password"); System.out.println("user: " + user + " password: " + password); Enumeration<String> names = servletConfig.getInitParameterNames(); while (names.hasMoreElements()) { String name = names.nextElement(); String value = servletConfig.getInitParameter(name); System.out.println("^^" + name + " : " + value); } //获取ServletContext对象,可以获取到当前web应用的各个信息 ServletContext context = servletConfig.getServletContext(); //1.获取当前WEB应用的初始化参数 //区别:ServletContext可以被每一个Servlet访问到从而去参数,而ServletConfig只能为当前的servlet访问到,并取配好的参数 String driver = context.getInitParameter("driver"); System.out.println("driver-->" + driver); Enumeration<String> names2 = context.getInitParameterNames(); while(names2.hasMoreElements()) { String name = names2.nextElement(); String value = context.getInitParameter(name); System.out.println("name-->" + name + " : " + value); } //获取当前WEB应用的某一个文件在服务器上的绝对路径,而不是部署前的路径 String realPath = context.getRealPath("/"); System.out.println(realPath); //获取当前WEB应用的名称 String contextPath = context.getContextPath(); System.out.println(contextPath); //获取当前WEB应用的某一文件对应的输入流 //String resource = context.getResourceAsStream("/"); // "/" 的意思是web应用的根目录 ClassLoader classLoader = getClass().getClassLoader(); InputStream in = classLoader.getResourceAsStream("jdbc.properties"); System.out.println("1. " + in ); InputStream in2 = context.getResourceAsStream("/WEB-INF/classes/jdbc.properties"); System.out.println("2. " + in2); } @Override public ServletConfig getServletConfig() { System.out.println("ServletConfig"); return null; } @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("Service"); } @Override public String getServletInfo() { System.out.println("getServletInfo"); return null; } @Override public void destroy() { System.out.println("destroy"); } public HelloWorld() { System.out.println("HelloWorld Constructor"); } }
相关文章推荐
- java_web学习第二天(ServletConfig和ServletContext对象的作用和使用)
- JavaWeb学习笔记:ServletConfig()和ServletContext()
- Servlet知识详解(一)ServletContext对象 和 ServletConfig对象学习笔记
- servlet学习笔记8——ServletContext的讲解和使用
- JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
- Servlet学习笔记(二)之Servlet路径映射配置、Servlet接口、ServletConfig、ServletContext
- 学习笔记--【转】Parameter与Attribute的区别&servletContext与ServletConfig区别
- JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用(转)
- JavaWeb学习笔记-使用HttpSession对象跟踪会话
- [原创]java WEB学习笔记55:Struts2学习之路---详解struts2 中 Action,如何访问web 资源,解耦方式(使用 ActionContext,实现 XxxAware 接口),耦合方式(通过ServletActionContext,通过实现 ServletRequestAware, ServletContextAware 等接口的方式)
- servlet学习笔记8——ServletContext的讲解和使用
- servlet学习笔记8——ServletContext的讲解和使用
- [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期
- 重温Servlet学习笔记--servletContext对象
- Servlet学习笔记---三个域对象的使用时机
- ServletContext对象(4)、web项目中路径使用、ServletConfig,ServletContext方法总结
- ServletConfig和ServletContext对象的作用和使用
- Servlet的学习(二)-ServletConfig对象和ServletContext对象
- JavaWeb学习笔记之Servlet九大内置对象
- javaweb基础学习(一)<ServletConfig与ServletContext对象详解>