如何从WebApp读取web.xml

doe*_*man 3 java web-services glassfish java-ee

对于WebApps,web.xml可用于存储应用程序设置.我该怎么读这个文件.我的servlet在GlassFish v2服务器上运行.

too*_*kit 9

不确定我完全理解这个问题......

假设您的Servlet扩展了HttpServlet

HttpServlet实现ServletConfig,所以你可以使用以下方法找出servlet特定的参数:

在web.xml中

<servlet>
    <servlet-class>com.acme.Foo</servlet-class>
    <init-param>
        <param-name>my.init.param</param-name>
        <param-value>10</param-value>
    </init-param>
</servlet>
Run Code Online (Sandbox Code Playgroud)

在servlet中:

int x = Integer.parseInt(getInitParameter("my.init.param"));
Run Code Online (Sandbox Code Playgroud)

同样,您可以使用以下方式获取全局(上下文范围)设置:

<context-param>
    <param-name>my.context.param</param-name>
    <param-value>Hello World</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

在servlet中:

String s = getServletContext.getInitParameter("my.context.param");
Run Code Online (Sandbox Code Playgroud)

当然,如果您正在使用框架以及您的servlet,例如Spring,那么您可以使用Spring的配置文件将设置注入您的Web应用程序类.