在我正在处理的Web服务中,我需要实现一个带有查询参数的URI /stats?store=A&store=B&item=C&item=D
为了分解它,我需要能够使用查询参数来指定来自多个/所有商店的数据以及来自这些商店的多个/所有商品的数据.到目前为止,我已经能够实现一个查询参数,以便提取项目数据,但我已经迷失了如何实现更多的查询,并且似乎无法找到我之前看到的资源有了这个实现.
到目前为止,我的方法是按照我的方法进行的
@GET
@Path("stats")
public String methodImCalling(@DefaultValue("All") @QueryParam(value = "item") final String item)
{
/**Run data using item as variable**/
return someStringOfData
}
Run Code Online (Sandbox Code Playgroud)
这适用于一个项目,如果我没有在URI中键入参数,将返回所有数据.但是,我不确定如何处理比这更多的参数.
更新:
我已经弄清楚如何通过简单地向方法添加第二个参数来使用2个不同的参数,如下所示:
public String methodImCalling(@DefaultValue("All") @QueryParam(value = "store") final String store,
@DefaultValue("All") @QueryParam(value = "item") final String item)
Run Code Online (Sandbox Code Playgroud)
问题仍然是如何实现相同参数的多个值.
我正在考虑将我在Eclipse中编写的Web服务部署到EAR文件中.我可以将它作为WAR导出并在Tomcat上将其部署在所有精细和花花公子上,但最终产品不会在Tomcat上,也不会是WAR文件.我需要使用Websphere作为服务器,我可以访问并可以部署有效的EAR文件......如果我有一个要部署的EAR文件.
长话短说,如何从Eclipse中的Dynamic Web Project导出EAR文件?
我知道必须有一个简单的答案,但谷歌目前没有帮助.我在Eclipse中有一个动态Web项目,它使用Java/Jersey来运行Web服务.projectname/test/statistics
对于不同的资源,我的所有Java资源都在诸如此类的URI中调用.我的挂断是一个相对简单的问题:
如何在此项目中包含HTML文件?
我打算将此文件作为一种"主页",以便处理登录等.我希望URI类似于projectname/
或者projectname/login
,但我似乎无法找到我可以定义的位置引用HTML文件的路径.是否需要添加到HTML本身,或者它是Eclipse项目中的设置?
更新:
Soo ......我仍然无法通过eclipse运行我的html文件.我现在要做的是在没有html的情况下向Tomcat部署一个war,然后将html文件放在一个完全独立的文件夹中运行它.这意味着每当我调用我的文件时,我都必须键入不同的上下文根.
好的,所以我一直在Tomcat上运行Java/Jersey Web服务,基本身份验证工作正常.我已经在项目的web.xml文件中设置了权限,用户在服务器上的tomcat-users.xml中设置了权限.效果很好.
问题是,现在我必须将这个项目转移到WebSphere,而这远远不如基本身份验证的实现那么简单.
我已经看到了这个问题:Websphere 6.1和BASIC身份验证,并查看了这个 pdf的第7章,如同建议,但我似乎无法找到正确的设置(我没有像大多数方法一样使用标记为'启用全局安全'的选项) ,我正在尝试运行我的项目,而pdf是特定于项目的.
那么要清楚地问我的问题,在WebSphere 6.1上启用基本身份验证的最简单方法是什么?
java websphere web-services basic-authentication websphere-6.1
在我一直从事的网络服务中,我一直在通过 HTML 中的方法将文本显示到屏幕上:
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello()
{
/**Do some stuff
return "<html> " + "<title>" + "Hello" + "</title>"
+ "<body><h1>" + "Hello World" + "</h1></body></html>";
}
Run Code Online (Sandbox Code Playgroud)
显示在屏幕上非常好。为了符合我正在处理的项目的项目描述,我一直致力于通过构建文档、将其转换为字符串并返回字符串来实现 XML 输出。使用 @Produces(MediaType.TEXT_XML) 像我期望的那样显示 XML 树。
我的问题来了:我需要能够使用项目描述所称的 application/xml;charset=UTF-8 的响应内容类型标头传递此 XML 数据。那么我需要做什么来适应使用@Produces(MediaType.APPLICATION_XML) 而不是@Produces(MediaType.TEXT_XML)?
我正在尝试构建一个Jersey Web服务,它将接收数据,将其格式化为XML文档,然后将其传递给另一个服务.我意识到Jersey确实有XML支持,但由于项目所需的XML结构,我在实现它时遇到了一些麻烦.所需的输出看起来像这样:
<root-element>
<table>
<row>
<d>data1</d>
<d>data2</d>
<d>data3</d>
</row>
<row>
<d>data4</d>
<d>data5</d>
<d>data6</d>
</row>
</table>
Run Code Online (Sandbox Code Playgroud)
我的问题出现了,有一些变量<d>
和<row>
元素,它们将根据传入的数据确定.我知道我可以@XmlRootElement
在处理数据的类之上格式化一个简单的表,但这可能只对我<root-element>
的元素只会填充其他元素.我知道我需要使用某种循环来创建每个<row>
,但我不确定如何<d>
在每个字段中创建具有不同数据的每个元素.有什么建议?