我已经使用jersey为使用servlet创建的Jave EE Web应用程序创建了一个Web服务。我发现得到一个415 error code。
我通常重定向到另一个应用程序,servlet或者 重定向到应用jsp程序中的一个servlet,我mime-type应该使用哪个?
SEVERE: A message body reader for Java class javax.servlet.http.HttpServletRequest, and Java type interface javax.servlet.http.HttpServletRequest, and MIME media type application/octet-stream was not found.
The registered message body readers compatible with the MIME media type are:
application/octet-stream ->
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.RenderedImageProvider
*/* ->
com.sun.jersey.core.impl.provider.entity.FormProvider
com.sun.jersey.core.impl.provider.entity.StringProvider
com.sun.jersey.core.impl.provider.entity.ByteArrayProvider
com.sun.jersey.core.impl.provider.entity.FileProvider
com.sun.jersey.core.impl.provider.entity.InputStreamProvider
com.sun.jersey.core.impl.provider.entity.DataSourceProvider
com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.ReaderProvider
com.sun.jersey.core.impl.provider.entity.DocumentProvider
com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader
com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader
com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General
com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General
com.sun.jersey.core.impl.provider.entity.EntityHolderReader
com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General
com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General
Run Code Online (Sandbox Code Playgroud)
这是networkGoogle …
我正在使用Firefox和Selenium IDE来测试Java应用程序.如果会话到期并且我启动了测试,我会得到这个http状态代码:490.
这是一个片段,说明了我如何获得此http状态代码.
var request = new XMLHttpRequest();
request.open('GET', url, false);
// ...
request.send(null);
if (request.status === 200) {
// ...
} else {
alert('Something bad happen!\n(' + request.status + ') ' + request.statusText);
}
Run Code Online (Sandbox Code Playgroud)
警告对话框显示如下内容:
Something bad happen!
(490) 490
Run Code Online (Sandbox Code Playgroud) 我正在使用angular的http get方法,但每当我加载页面时,它会抛出状态代码-1或0错误响应.我在这做什么错?怎么解决这个?这个状态代码的原因是什么?
var requ = {
method: 'GET',
url: "https://...",
headers: {
"Content-Type": "application/json"
}
}
$http(requ).then(function(response){
$scope.details=response.data.platform.record;
}, function(response){alert("failure1");alert(response.statusText);});
Run Code Online (Sandbox Code Playgroud) 我有一个长时间运行的 servlet,如果发生超时,我想中止该过程。(长时间运行的 servlet 是另一个讨论)。
现在,当我在服务器上中止请求时,我应该发送 HTTP 408 或 HTTP 503 或其他一些适当的状态。
408 似乎更像是客户端错误,而 503 更像是过载/维护状态。并且找不到合适的响应状态。
当用户执行操作太快(泛滥)或垃圾邮件时,哪种HTTP状态最合适?我相信它是4XX系列之一,但是哪一个?
我的网站有1%的随机机会将访问者重定向到此YouTube视频.
服务器当前发送旧的302,但我希望它具有更好的语义.
我不知道重定向是永久的还是临时的.从某种意义上说,它是永久性的,人们总是有1%的机会被重定向,而且这是暂时的,因为人们不会每次都被重定向.
当前的3xx响应状态代码都不符合我网站的行为.
301永久移动
此以及将来的所有请求都应该指向给定的URI.[21]
"这和所有未来的要求" - 不,不是所有未来的要求.
302 Found(以前"暂时移动")
告诉客户查看(浏览)另一个URL.302已被303和307取代.这是与该标准相矛盾的行业惯例的一个例子.HTTP/1.0规范(RFC 1945)要求客户端执行临时重定向(原始描述短语是"暂时移动"),[22]但是流行的浏览器实现302具有303 See Other的功能.因此,HTTP/1.1添加了状态代码303和307来区分这两种行为.[23] 但是,一些Web应用程序和框架使用302状态代码,就像它是303一样.[24]
这令人困惑.它确实说,"302已经被303和307取代了",所以我想这已经过时但仍然常用?
303请参阅其他(自HTTP/1.1起)
可以使用GET方法在另一个URI下找到对请求的响应.当收到POST(或PUT/DELETE)时,客户端应该假设服务器已经收到数据,并且应该向给定的URI发出新的GET请求.[25]
"可以在另一个URI下找到对请求的响应" - Rickroll不是对原始请求的响应.它与我的网站无关!"当收到POST(或PUT/DELETE)响应时,客户端应该假设服务器已经收到了数据,并且应该向给定的URI发出新的GET请求." 303描述的最后一句不适用于我的重定向.
307临时重定向(自HTTP/1.1起)
在这种情况下,请求应该使用另一个URI重复; 但是,未来的请求仍应使用原始URI.与历史上实现302的方式相反,在重新发出原始请求时不允许更改请求方法.例如,应该使用另一个POST请求重复POST请求.[30]
"在这种情况下,请求应该使用另一个URI重复;但是,将来的请求仍应使用原始URI." 是! 这就是我的重定向."...重新发出原始请求时,不允许更改请求方法.例如,应使用另一个POST请求重复POST请求." 不幸的是,这不适用于我的重定向.我的网站甚至在他们提交表单(POST方法)时随机Rickrolls用户.
308永久重定向(RFC 7538)
应使用另一个URI重复请求和所有将来的请求.307和308并行302和301的行为,但不允许HTTP方法改变.因此,例如,将表单提交给永久重定向的资源可能会顺利进行.[31]
308具有与301相同的问题,因为并非所有将来的请求都应该转到Rickroll视频.此外,不允许改变该方法.
我的服务器应该为与我的实际站点无关的随机机会重定向发送什么HTTP响应状态代码?