当前位置: 首页 > 知识库问答 >
问题:

在java类中从web.xml读取值

麹高义
2023-03-14

我有一个Web应用程序,其中包含一个web.xml文件和我用Maven构建的一些java类。在某些时候,我想在java类中获取一个来自Web.xml文件的参数。

如何在普通java类而不是Servlet中读取值?

共有3个答案

奚昌胤
2023-03-14

更简单的是:

网页.xml:

<env-entry> 
    <env-entry-name>properties-file</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Property</env-entry-value> 
</env-entry>

java类:

InitialContext initialContext = new InitialContext();
String fileName = (String) initialContext.lookup("java:comp/env/properties-file");
翁阳曜
2023-03-14

在web.xml中添加一个init-参数

<init-param>
   <param-name>myParam</param-name>
   <param-value>myParamValue</param-value>
  </init-param>

您可以使用以下代码访问它 -

getServletContext().getInitParameter("myParam")
汤枫涟
2023-03-14

我找到了这个问题的解决方案,实际上,您必须在web.xml中声明一些env-entry标记,如下所示:

<env-entry> 
    <env-entry-name>properties-file</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Property</env-entry-value> 
</env-entry>

在您的java类中,您必须导入上下文和NamingException(这是在我的情况下,我不确定这是否适用于其他情况) :

    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;

如果你想得到价值,你必须这样做:

    Context ctx = new InitialContext();
    Context env = (Context) ctx.lookup("java:comp/env");
    final String fileName = (String) env.lookup("properties-file");

希望这也有助于其他人:-)

 类似资料:
  • 所以我必须阅读5个文件行,显示如下(Java): 我必须输入以分号分隔的数据作为单个变量,即<代码>国际价格;等 从文件中读取时,如何将、、等分为不同的数据类型?目标是构建一个对象列表,其中每个数据都作为构造函数参数。 谢谢你的任何帮助

  • 问题内容: 我在使用spring通过java阅读yaml时遇到问题。让我先显示代码 我的yaml文件: Spring上下文xml也具有以下内容: 现在,我的期望是,在我的春季测试应用程序运行期间(上下文xml来自我的测试资源,yaml也处于我的测试中),这些orders和requests值已设置,但它们为空。另外,请注意,除了使用@Value($ {…})注入的值之外,yaml中还有其他值,注入它

  • 问题内容: 嗨,就像标题说的那样,我正在尝试从Java Servlet读取数组。我正在尝试读取Java脚本文件中的数组。 Java Servlet代码:字符串graphData [] = dbHandler.select(attributes); //用数据库中的数据填充数组。request.setAttribute(“ graphData”,graphData); 我尝试了所有这些选项,但没有一

  • 问题内容: 我正在尝试用Java读取URL,只要URL正在浏览器中加载,它就可以工作。 但是,如果只是在浏览器中停止运行而在尝试在浏览器中打开该页面时未加载该页面,则Java应用程序会挂起,如果有足够的时间,它可能会永远等待。如果加载时间超过20秒而我停止了应用程序,如何设置超时时间? 我正在使用网址 这是代码的相关部分: 问题答案: 我不知道您如何使用URL类。如果发布摘要会更好。但是这是一种对

  • 问题内容: 我们没有只介绍ArrayLists数组和2D数组。我需要做的是能够从另一个类的ArrayList中读取。主要目的是在for循环中读取它们,并使用存储在其中的值显示项目。但是,我已经制作了这个快速程序来对其进行测试并不断得到此错误 这是我的代码 然后是ArrayList所在的类 如果有人可以指出正确的方向,那将非常有价值。我尝试调试,但是我可以获得任何帮助。 提前致谢。 问题答案: 严格

  • 问题内容: 我需要阅读Java包中包含的类。这些类在类路径中。我需要直接从Java程序执行此任务。你知道简单的方法吗? 问题答案: 如果你的类路径中包含Spring,则可以执行以下操作。 在包中找到所有用XmlRootElement注释的类: