如何从welcome jsp页面获取web.xml的servlet的init参数?

时间:2014-01-27 14:45:54

标签: java jsp welcome-file

我在index.jsp创建了/index页面和绑定路径web.xml
当访问应用程序的根目录时,它也会显示为欢迎页面。它有三个init参数。

问题是我可以通过config.getInitParameter()从JSP代码访问,如果路径已满[host:port]/[appName]/index,则可以正常访问参数。
如果我尝试导航到应用程序根目录[host:port]/[appName]/,则会显示欢迎页面,但无法访问init参数。 config.getInitParameter()方法返回null。

如果我想获取servlet init参数,如何在web.xml中正确配置欢迎页面?

2 个答案:

答案 0 :(得分:2)

你是否在web.xml中将index.jsp定义为“welcome-file”?听起来好像容器正在进行重定向。将index.jsp定义为欢迎文件应该可以解决这个问题。

希望有所帮助。

答案 1 :(得分:2)

通常在Java中,如果要使用/来访问Java EE上下文,您可以:

  1. 将其安装在ROOT环境中。
  2. 使用反向代理(如nginx)。
  3. 第二种方法是最常见的解决方案。在这种情况下,请求进入浏览器 - >反向代理/负载均衡器 - >一个或多个应用程序服务器。

    这有几个优点。

    1. 您可以在反向代理上处理SSL握手。
    2. 您的应用程序服务器可以尽可能快地将内容传送到反向代理(通常比浏览器更快),因此它不会长时间连接(勺子馈送)。
    3. 即使Java EE容器未运行,您也可以显示有意义的错误页面。
    4. 为每个上下文提供不同的域或子域名是微不足道的。