Java 我想读取tomcat context.xml的参数

Java 我想读取tomcat context.xml的参数,java,tomcat,Java,Tomcat,我想获取context.xml中的companyName值 在编写了下面提到的代码之后,我得到了null值 请帮助我从context.xml获取值。您甚至可以从context.xml 注意:不要说在web.xml InitialContext context = new InitialContext(); Context xmlNode = (Context) context.lookup("java:comp/env"); String companyName = (String) xmlNo

我想获取context.xml中的companyName值 在编写了下面提到的代码之后,我得到了
null

请帮助我从
context.xml
获取值。您甚至可以从
context.xml

注意:不要说在
web.xml

InitialContext context = new InitialContext();
Context xmlNode = (Context) context.lookup("java:comp/env");
String companyName = (String) xmlNode.lookup("companyName");
Context.xml(Tomcat 7)


WEB-INF/WEB.xml
JSP(index.JSP)


在此处插入标题
输出

在实施下面给出的解决方案后更新

例外情况来了


您不能以这种方式加载,因为
context.xml
是JNDI资源。请尝试以下方法:

Tomcat(context.xml)

Java端

弹簧侧 HomeController.java

@Controller
@RequestMapping("/")
public class HomeController {

    @Autowired
    private ServletContext servletContext;

    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView index(ModelAndView mav) throws Exception {
        String companyName = servletContext.getInitParameter("companyName");
        mav.setViewName("home/index");
        mav.addObject("companyName", companyName);
        return mav;
    }

    public void setServletContext(ServletContext servletContext) {
        this.servletContext = servletContext;
    }
}
视图侧 index.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Home</title>
    </head>
    <body>
        <c:out value="${companyName}"/>
    </body>
</html>
以上例子在我这方面已经证明是成功的。我的脚本可以在运行时从
context.xml
文件中读取,如图所示


对我来说比参数更有效,因为后者是
javax.naming.NameNotFoundException:名称[companyName]在此上下文中未绑定。无法找到[companyName]。
尝试使用
字符串companyName=(字符串)xmlNode.lookup(“companyName”)获取值时

您试图再次获取哪个值?还有什么不起作用?尝试创建一个我无法在tomcat 8上使用完全相同的代码复制的参数。在tomcat中有一个context.xml,其中我有一个参数companyName,带有一些值。在jsp中,我需要该值,但我没有得到正确的值,我得到的值为null,请使用tomcat 7Posible duplicate:javax.servlet.ServletException:javax.naming.NameNotFoundException:Name[companyName]在此上下文中未绑定。找不到[companyName]。org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)。。。。。。有关更多信息,请参阅上面的上传图片这是SpringMVC,我想用简单的web应用程序在jsp中使用scriplets。如果你能帮忙的话。谢谢你犯了个错误。这不是“而是”!!如果我们指定“非常感谢您的回答,这对我帮助很大!
元素之间有什么区别?在Tomcat 8中,环境似乎可以工作,但参数对我来说不起作用
@Controller
@RequestMapping("/")
public class HomeController {

    @Autowired
    private ServletContext servletContext;

    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView index(ModelAndView mav) throws Exception {
        String companyName = servletContext.getInitParameter("companyName");
        mav.setViewName("home/index");
        mav.addObject("companyName", companyName);
        return mav;
    }

    public void setServletContext(ServletContext servletContext) {
        this.servletContext = servletContext;
    }
}
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Home</title>
    </head>
    <body>
        <c:out value="${companyName}"/>
    </body>
</html>
<Environment name="companyName" value="My Company, Incorporated" 
type="java.lang.String" override="false"/>