JavaWeb——Servlet开发3

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") + "
");
    }
}

效果:

原文地址:https://www.cnblogs.com/xxbbtt/p/8351243.html