我使用AppFuse创建了一个基本的应用程序外壳,并按照AppFuse教程使用Jax-
RS创建了一个简单的RESTful服务。那很好。调用时,http://localhost:8080/services/api/persons
将Person对象的集合作为Json格式的字符串返回,并带有正确的数据。
我现在想从Appfuse提供的RESTful服务中访问ServletRequest
和ServletResponse
对象(以使用需要这些对象的另一个库)。
我 _认为_应该可以通过添加@Context注释来实现,但是,如果我添加@Context标记(请参见下文),它可以很好地编译,但是在重新启动服务器时将引发异常(附加在底部)。
这是的声明@WebService
:
@WebService
@Path("/persons")
public interface PersonManager extends GenericManager<Person, Long> {
@Path("/")
@GET
@Produces(MediaType.APPLICATION_JSON)
List<Person> read();
...
}
这是实现类,我认为我将其称为@Context
批注:
@Service("personManager")
public class PersonManagerImpl extends GenericManagerImpl<Person, Long> implements PersonManager {
PersonDao personDao;
@Context ServletRequest request; // Exception thrown on launch if this is present
@Context ServletContext context; // Exception thrown on launch of this is present
...
}
希望我缺少一些简单的东西,要么包含一些东西使其工作,要么意识到应该无法获取ServletRequest,因为……任何线索都将受到欢迎。
在IntelliJ中的Tomcat上运行它。
===异常堆栈跟踪(已截断)===
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'serviceBeans' threw exception; nested exception is java.lang.RuntimeException: java.lang.NullPointerException
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:102)
at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358)
... 37 more
尝试直接注入HttpServletRequest
和HttpServletContext
:
@Context private HttpServletRequest servletRequest;
@Context private HttpServletContext servletContext;
问题内容: 您能否解释一下如何在我的子类中获取实例?可能吗?我已尝试按照以下代码片段的方式进行操作,但它似乎不起作用- 未设置: web.xml: 问题是我需要从中获取上下文参数。如果有其他方法,请给我一个提示,我将不胜感激。 我了解注记可能并非为此目的。实际上,我不需要自己。如果只有我可以从web.xml中获取上下文参数,我将非常高兴。 这是我真正需要的一个例子: 谢谢。 问题答案: 从Jers
要获取请求URL,可以在堆栈溢出中找到以下方法。 第一种方法: 第二种方法: 第三种方法: 我不知道在spring boot应用程序中使用哪一个来获取请求URL。 如果我使用第三种方法,那么我是否需要在配置类中创建RequestContextListener的bean,如下所示?
伙计们,我们外包了我们的移动应用程序开发,公司只是给了我一个IPA文件,我必须重新签署,然后上传到iTunes Connect。现在,我只想看到这个应用程序的试飞,我看了一个youtube视频,认为这将是直接的,所以我创建了一个生产证书后,我做了我的应用程序id,然后我创建了一个发行版供应配置文件,并选择应用商店作为我的发行版。我曾经为了改变我在这里找到的教程而进行设计,但是当我使用应用程序加载器
我做了一个C应用程序,它假设使用Kerberos身份验证来访问HDFS。这个应用程序的webserver也是用C编写的。 我正在尝试使用Kerberos票证在此应用程序中进行透明身份验证。 我使用以下命令对未经授权的用户进行了服务器响应: HTTP/1.1 401未经授权 WWW-认证:协商 浏览器会对标题中的授权字段做出反应,如下所示: 授权:协商Yiecgygkwybbqucoid/jCCA/
我对Java Web服务器和Web应用程序非常陌生。我们有一个非常老的基于Appfuse框架的应用程序在Tomcat5上运行良好。Appfuse是一个基于sprint的框架,与hubernet和其他一些东西一起构建。 我需要把它转移到JBOSS EAP 6.1。最初我在独立模式下测试 我想我已经完成了1。JBossWeb。xml创建2。在单机版中创建oracle数据库模块并添加数据库连接。xml
问题内容: 我正在尝试在Java Webstart应用程序中加载许多资源。 我最初尝试使用以下命令加载这些文件: 但这没有用-它引发了IllegalArgumentException。进一步的研究表明,该方法不适用于从jar文件访问资源,因此我需要使用以下方法: 但是,当我从Jnlp使用它运行时,得到奇怪的结果。如果我运行以下命令: 在我的IDE中,我得到了对与错(正如我期望的那样)。从jnlp运