首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetBean :从Web Service方法访问web.xml上下文参数?

NetBean :从Web Service方法访问web.xml上下文参数?
EN

Stack Overflow用户
提问于 2008-09-24 07:42:06
回答 4查看 9.8K关注 0票数 2

我是java的新手,所以请原谅我那些愚蠢的问题:)

我正在尝试在JavaWeb6.1中构建一个NetBeans服务,但是我在配置参数(比如.net中的.settings )方面遇到了一些问题。

在java web服务中保存和访问这样的设置的正确方式是什么。

有没有办法在web方法中从web.xml中读取上下文参数?

如果不是,那么存储路径名等配置变量的替代方案是什么?

谢谢

EN

回答 4

Stack Overflow用户

发布于 2008-09-24 15:04:35

有没有办法在web方法中从web.xml中读取上下文参数?

不,使用开箱即用的方式很难做到这一点。Web服务系统(JAX-WS)对Servlet引擎(Tomcat)知之甚少。它们被设计成隔离的。

如果您想要使用上下文参数,您的web服务类将需要实现ServletContextListener并在初始化参数中检索所需的参数(或者保存上下文以供以后使用)。由于Servlet引擎和JAX-WS将分别具有不同的对象实例,因此需要将值保存到静态成员。

正如Lars提到的,Properties API或JNDI是您的最佳选择,因为它们包含在Java中,并且是相当著名的检索选项的方法。使用Classloader.getResource()检索web上下文中的属性。

票数 4
EN

Stack Overflow用户

发布于 2008-09-24 08:03:36

如果您使用的是servlets,则可以在web.xml中配置参数:

代码语言:javascript
复制
<servlet>
  <servlet-name>jsp</servlet-name>
  <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
      <param-name>fork</param-name>
      <param-value>false</param-value>
     </init-param>
</servlet>

这些属性将在ServletConfig对象中传递给servlet的"init“方法。

另一种方法是使用以下命令读取系统的环境变量

代码语言:javascript
复制
System.getProperty(String name);

但是,除了小程序和测试之外,不建议这样做。

如果你想使用".properties“文件,还有Properties API。http://java.sun.com/javase/6/docs/api/java/util/Properties.html

最后,我认为在开发现代web服务应用程序时,使用JNDI查找配置是很常见的,Netbeans和应用程序容器对此有很好的支持。用谷歌搜索一下。

票数 3
EN

Stack Overflow用户

发布于 2011-10-12 13:50:52

代码语言:javascript
复制
MessageContext ctx = MessageContext.getCurrentThreadsContext();       
Servlet wsServlet = (Servlet) ctx.getProperty(HTTPConstants.MC_HTTP_SERVLET);         
ServletConfig wsServletConfig = wsServlet.getServletConfig();                 
ServletContext wsContext = wsServletConfig.getServletContext();   
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/125878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档