美文网首页
2. 使用初始化参数配置应用程序

2. 使用初始化参数配置应用程序

作者: tengwind | 来源:发表于2018-05-28 18:24 被阅读0次

1. 使用应用上下文初始化参数

在编写web应用的时候,有时候需要在web应用中加入一些配置,比如下面配置一些应用加载的配置文件:

<!-- Context Configuration locations for Spring XML files -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:applicationContext*.xml</param-value>
    </context-param>

可以在web.xml文件中使用<context-param>标签配置响应的参数。
下面举一个简单的例子,在web.xml中配置应用应用上下文参数

<context-param>
        <param-name>context_param1</param-name>
        <param-value>1</param-value>
    </context-param>
    <context-param>
        <param-name>context_param2</param-name>
        <param-value>2</param-value>
    </context-param>

编写servlet类,获取这写参数并返回到前端线上。

@WebServlet(name = "contextParameterServlet", urlPatterns = "/contextParameter")
public class ContextParameterServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
         //使用getInitParameter获取配置的初始化参数
        String param1 =req.getServletContext().getInitParameter("context_param1");
        String param2 =req.getServletContext().getInitParameter("context_param2");

        PrintWriter printWriter = resp.getWriter();
        printWriter.println("param1 "+param1);
        printWriter.println("param2 "+param2);
        printWriter.flush();
    }
}

上面的代码先获取servletContext,再通过getInitParameter的方式获取相应的参数。
在浏览器中访问 http://localhost:8080/contextParameter 会看到如下的结果:

2. 使用Servlet初始化参数

上面是使用servletContext获取初始化参数,这个参数是整个上线文共享的,如果只想在单个servlet中配置一些参数,可以使用在web.xml文件中的<servlet>标签内配置<init-param>标签,下面举个例子。

@WebServlet(
        name = "servletParameterServlet",
        urlPatterns = {"/servletParameter"},
        initParams = {@WebInitParam(name = "server", value = "mysql")
                , @WebInitParam(name = "database", value = "user")}
)
public class ServletParameterServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //使用servletConfig类进行获取
        ServletConfig sc = this.getServletConfig();
        String server = sc.getInitParameter("server");
        String database = sc.getInitParameter("database");
        resp.getWriter().println("server : [" + server + "] database : [" + database + "]");
    }
}

在获取servlet的配置参数时,使用ServletConfig类进行获取。
上面的代码使用了注解的方式进行配置,配置的初始化参数使用initParams,也可以在配置文件中配置如下:

 <servlet>
        <servlet-name>servletParameterServlet</servlet-name>
        <servlet-class>com.fishfree.javaweb.servlet.ContextParameterServlet</servlet-class>
        <init-param>
            <param-name>server</param-name>
            <param-value>mysql</param-value>
        </init-param>
        <init-param>
            <param-name>database</param-name>
            <param-value>user</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>servletParameterServlet</servlet-name>
        <url-pattern>/servletParameter</url-pattern>
    </servlet-mapping>

相关文章

  • 2. 使用初始化参数配置应用程序

    1. 使用应用上下文初始化参数 在编写web应用的时候,有时候需要在web应用中加入一些配置,比如下面配置一些应用...

  • webpack核心原理

    构建配置 构建流程 1.初始化参数:从配置文件和 Shell 语句中读取与合并参数,得出最终的参数 2.开...

  • flask框架

    flask应用对象初始化 配置参数的使用方式: 使用配置文件 app.config.from_pyfile('co...

  • nodejs之excel转mysql的工具

    使用: 初始化 使用 只打印sql: 链接mysql: 参数 mysql: mysql的相关配置 model: 模...

  • javaweb学习总结(一)servlet开发

    一、ServletConfig详解 1.1 配置Servlet初始化参数 在Servlet的配置文件中,可以使用一...

  • 提示55 配置

    今天学习有关配置的内容,先看提示: 提示55 使用外部配置参数化应用程序。 作者首先举出了很多适合参数化的内容,接...

  • vue 上传文件到 阿里云OSS,并获取上传进度

    1.首先,安装阿里的包 初始化一下配置,传的参数data从后台获取 2.使用element-ui的Upload作为...

  • JavaWeb-Servlet学习2

    ServletConfig 配置Servlet初始化参数在Servlet的配置文件web.xml中,可以使用一个或...

  • ServletConfig对象

    1、配置文件中可以配置一个或多个 标签为servlet配置一些初始化参数 2、当servlet配置了初始化参数后,...

  • mysql基础管理-初始化配置

    初始化配置 方式: 源码安装->编译过程中设置初始化参数 配置文件->数据库启动之前,设置配置文件参数。/etc/...

网友评论

      本文标题:2. 使用初始化参数配置应用程序

      本文链接:https://www.haomeiwen.com/subject/tpogjftx.html