scr*_*ter 5 java jsf web-services
我正在开发一个由我编写的客户调用的Web服务.在Web服务中,我需要使用应用程序范围的对象,这样可以减轻系统上应用程序的负担.我已经实现了我的应用程序范围的对象,如此问题所示.
我可以在jsf页面中使用我的对象,没有问题,如下所示.
MyObject mo = (MyObject) FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("MyObjectsName");
Run Code Online (Sandbox Code Playgroud)
但是当它在Web服务请求中使用它时FacesContext.getCurrentInstance()返回null.有没有办法在Web服务中使用FacesContext.
它为null,因为Web服务不是来自Faces Servlet.这是应该的方式,因为Web服务与JSF无关.
如果您使用的是jax-ws实现,则可以使用:
@Resource
WebServiceContext context;
Run Code Online (Sandbox Code Playgroud)
这将注入WebServiceContext,您可以通过它:
ServletContext servletContext = (ServletContext)
context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);
Run Code Online (Sandbox Code Playgroud)
拥有ServletContext,您可以访问您的应用程序范围对象.
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |