1、使用初始化参数配置应用程序
初始化参数的方式有两种
- 在Web.xml文件中使用<context-param>标签声明上下文初始化参数
<context-param> <param-name>user</param-name> <param-value>one</param-value> </context-param> <context-param> <param-name>sex</param-name> <param-value>man</param-value> </context-param>
这里创建了值为one的user和值为man的sex两个参数
- 第二种方法是使用Servlet初始化参数
这里有两种方式,一个是在web.xml声明和映射Servlet的时候完成初始化参数
<servlet> <servlet-name>ContextSerlvet</servlet-name> <servlet-class>servlet.ContextServlet</servlet-class> <init-param> <param-name>data</param-name> <param-value>123</param-value> </init-param> <init-param> <param-name>data2</param-name> <param-value>123.23.2</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ContextSerlvet</servlet-name> <url-pattern>/Context</url-pattern> </servlet-mapping>
还有就是使用@WebServlet注解
@WebServlet(
name = "ContextServlet",
urlPatterns = {"/Context"},
initParams = {
@WebInitParam(name = "data", value = "123"),
@WebInitParam(name = "data2", value = "123.23.2")
}
)
这里定义了值为123的data和值为123.23.2的data2
使用这些参数的时候,
- 使用上下文初始化的参数要从ServletContext中获得
- 使用Servlet初始化的参数要从ServletConfig中获得
完整的java代码:
@WebServlet( name = "ContextServlet", urlPatterns = {"/Context"}, initParams = { @WebInitParam(name = "data", value = "123"), @WebInitParam(name = "data2", value = "123.23.2") } ) public class ContextServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { ServletContext context = this.getServletContext(); ServletConfig config = this.getServletConfig(); PrintWriter writer = resp.getWriter(); writer.append("user = ").append(context.getInitParameter("user") + " ") .append("sex = ").append(context.getInitParameter("sex") + " ") .append("data = ").append(config.getInitParameter("data") + " ") .append("data2 = ").append(config.getInitParameter("data2") + " "); } }
效果: