1、获取 web.xml 中配置的上下文参数context-param 2、获取当前的工程路径,格式:/工程路径 3、获取工程部署后在服务器硬盘上的绝对路径 4、像Map一样存取数据
完整ContextServlet.java代码:
package demo01; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class ContextServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1、获取 web.xml 中配置的上下文参数context-param ServletContext context = getServletConfig().getServletContext(); String username = context.getInitParameter("username"); System.out.println("context-param参数username的值是:"+username); String url = context.getInitParameter("url"); System.out.println("context-param参数url的值是:"+url); // 2、获取当前的工程路径,格式:/工程路径 System.out.println("当前工程路径是"+context.getContextPath()); // 3、获取工程部署后在服务器硬盘上的绝对路径 // / 斜杠映射到IDEA工程下的web目录 System.out.println("工程部署的绝对路径"+context.getRealPath("/")); System.out.println("工程目录下css目录的绝对路径"+context.getRealPath("/css")); // 4、像Map一样存取数据 } }
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_4_0.xsd" version="4.0"> <!-- context-param是上下文参数,它属于整个web项目--> <context-param> <param-name>username</param-name> <param-value>context</param-value> </context-param> <context-param> <param-name>url</param-name> <param-value>jdbc:mysql://localhost:3306/test</param-value> </context-param> <servlet> <servlet-name>ContextServlet</servlet-name> <servlet-class>demo01.ContextServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>ContextServlet</servlet-name> <url-pattern>/contextServlet</url-pattern> </servlet-mapping> </web-app>
控制台输出: