我已配置Jetty的跨源过滤器,但我继续收到以下错误.有谁知道什么是错的以及如何解决它?错误消息下面是我的覆盖描述符(即补充web.xml)
错误:
Origin http://localhost:8090 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)
覆盖描述符:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<filter-pattern>/*</filter-pattern>
</filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
请求标题
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Access-Control-Request-Headers:Origin, Content-Type, Accept
Access-Control-Request-Method:POST
Connection:keep-alive
Host:localhost:8080
Origin:http://localhost:8090
Referer:http://localhost:8090/home
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.942.0
Run Code Online (Sandbox Code Playgroud)
响应标题
Allow:POST,GET,OPTIONS,HEAD
Content-Length:0
Date:Wed, 30 Nov 2011 02:13:21 GMT
Server:Jetty(7.5.4.v20111024)
Run Code Online (Sandbox Code Playgroud) 是否有任何特定的排除列表禁用SSLv3密码不是TLSv1/2.
我有码头8,升级到9现在不是一个选择.我目前的jetty-ssl.xml如下所示
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
<Arg>
<New class="org.eclipse.jetty.http.ssl.SslContextFactory">
.........
</New>
</Arg>
<Set name="ExcludeCipherSuites">
<Array type="java.lang.String">
<Item>SSL_RSA_WITH_NULL_MD5</Item>
<Item>SSL_RSA_WITH_NULL_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
<Item>SSL_RSA_WITH_RC4_128_MD5</Item>
<Item>SSL_RSA_WITH_RC4_128_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5</Item>
<Item>SSL_RSA_WITH_IDEA_CBC_SHA</Item>
<Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_DSS_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
<Item>SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_DH_anon_EXPORT_WITH_RC4_40_MD5</Item>
<Item>SSL_DH_anon_WITH_RC4_128_MD5</Item>
<Item>SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA</Item>
<Item>SSL_DH_anon_WITH_DES_CBC_SHA</Item>
<Item>SSL_DH_anon_WITH_3DES_EDE_CBC_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_NULL_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA</Item>
<Item>SSL_FORTEZZA_KEA_WITH_RC4_128_SHA</Item>
<Item>SSL_DHE_RSA_WITH_AES_128_CBC_SHA</Item>
<Item>SSL_RSA_WITH_AES_128_CBC_SHA</Item>
</Array>
</Set>
</New>
</Arg>
</Call>
Run Code Online (Sandbox Code Playgroud)
还是当我运行"sslscan --no-failed --ssl3 localhost:443"时,我得到了
Supported Server Cipher(s):
Accepted SSLv3 128 bits DHE-RSA-AES128-SHA
Accepted SSLv3 128 bits AES128-SHA
Prefered Server Cipher(s):
SSLv3 128 bits …
Run Code Online (Sandbox Code Playgroud) JSON.stringify显然不是很节省空间.例如,[123456789,123456789]在需要大约5时占用20多个字节.在发送到流之前,websocket会压缩其JSON吗?
我在我的日志文件中收到这些警告:
WARN 2013-01-15 00:08:15,550 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@2d0a7424{l(/10.13.61.19:17602)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@22e7a7e3,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-1,l=2355,c=-3},r=41}
WARN 2013-01-15 00:08:17,275 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@3e428386{l(/10.13.61.19:17605)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@40a77d2a,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-5,l=108,c=-3},r=57}
WARN 2013-01-15 00:09:34,560 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@39c117ad{l(/10.13.61.19:17708)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@11c95f6f,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-1,l=1940,c=-3},r=522}
WARN 2013-01-15 00:09:37,185 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@574e9325{l(/10.13.61.19:17722)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@6e997c49,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-1,l=2675,c=-3},r=101}
WARN 2013-01-15 00:09:37,281 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@6838d5cb{l(/10.13.61.19:17726)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@d9f6b12,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-1,l=2641,c=-3},r=4}
WARN 2013-01-15 00:10:22,723 org.eclipse.jetty.http.HttpParser- HttpParser Full for SCEP@6f282964{l(/10.13.61.19:17805)<->r(/10.118.190.35:80),d=true,open=true,ishut=false,oshut=false,rb=false,wb=false,w=true,i=1r}-{AsyncHttpConnection@44627fa1,g=HttpGenerator{s=0,h=-1,b=-1,c=-1},p=HttpParser{s=-1,l=2211,c=-3},r=61}
Run Code Online (Sandbox Code Playgroud)
有谁知道他们的意思或如何解决它们?我正在使用jetty-8.1.5.v20120716.如你所见,它们经常发生.
我通过websockets发送大量的JSON数据.JSON可能有超过1000个条目.由于帧大小限制,Websocket协议自动将JSON分成帧,这是无法帮助的.因为我们无法改变websockets的框架大小.
问题:
当我尝试使用JSON.parse
它来评估我的JSON时,给出了一个解析错误,这很明显,因为这些帧不是完整的JSON对象.所有这些都发生在Websocket onmessage
事件回调中.如何在不同的帧中接收巨大的JSON并仍然能够解析它?我试图在onmessage
仍然错误仍然存在的情况下连接帧.
问题:
如何正确地破解破解的JSON?
我正在尝试编写集成测试以在本地启动jetty服务器,然后使用客户端与其余URI进行通信并调用下游的业务逻辑.但是,当我启动我的jetty服务器时,它不会放弃控件,因此我的客户端不会被执行.所以我使用线程在不同的线程中启动我的码头,但是,线程在客户端调用之前完成,它表示连接被拒绝.我可以采取任何方法吗?
@Test
public void testPerform() {
final JettyServer jettyServer = JettyServer.create();
jettyServer.buildJettyServer(ServletContextHandler.SESSIONS, "/", 8080, TestResource.class);
Runnable runnable = new Runnable()
{
@Override
public void run()
{
jettyServer.start();
}
};
new Thread(runnable).start();
final javax.ws.rs.client.Client client = ClientBuilder.newClient();
final Response response = client.target("http://localhost:8080/test").request().post(Entity.text(""));
jettyServer.stop();
}
Run Code Online (Sandbox Code Playgroud) 当我上传大文件(大约50 MB)时,我得到 org.eclipse.jetty.io.EofException:早期的EOF感知.我的码头服务器版本是" 9.2.9.v20150224 ".Below是堆栈跟踪
org.eclipse.jetty.io.EofException: Early EOF
at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:505) ~[jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:124) ~[jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
at org.apache.http.entity.InputStreamEntity.writeTo(InputStreamEntity.java:142) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.entity.HttpEntityWrapper.writeTo(HttpEntityWrapper.java:96) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.impl.client.EntityEnclosingRequestWrapper$EntityWrapper.writeTo(EntityEnclosingRequestWrapper.java:112) ~[httpclient-4.5.jar:4.5]
at org.apache.http.impl.entity.EntitySerializer.serialize(EntitySerializer.java:117) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.impl.AbstractHttpClientConnection.sendRequestEntity(AbstractHttpClientConnection.java:265) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.impl.conn.AbstractClientConnAdapter.sendRequestEntity(AbstractClientConnAdapter.java:231) ~[httpclient-4.5.jar:4.5]
at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:237) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:122) ~[httpcore-4.4.1.jar:4.4.1]
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:685) ~[httpclient-4.5.jar:4.5]
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:487) ~[httpclient-4.5.jar:4.5]
at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882) ~[httpclient-4.5.jar:4.5]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:117) ~[httpclient-4.5.jar:4.5]
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) ~[httpclient-4.5.jar:4.5]
at org.apache.http.client.HttpClient$execute$2.call(Unknown Source) ~[na:na]
org.eclipse.jetty.io.EofException
at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:192)
at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:408)
at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:302)
at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:129)
at org.eclipse.jetty.server.HttpConnection$SendCallback.process(HttpConnection.java:676)
at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:246)
at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:208)
at org.eclipse.jetty.server.HttpConnection.send(HttpConnection.java:471)
at org.eclipse.jetty.server.HttpChannel.sendResponse(HttpChannel.java:763)
at org.eclipse.jetty.server.HttpChannel.write(HttpChannel.java:801)
at …
Run Code Online (Sandbox Code Playgroud) 我最近在启动java服务器时看到了这个.有没有人见过这个?如果是这样的话怎么办?我可以确认jar和module-info.class存在于相关路径中.
MultiException[java.lang.RuntimeException: Error scanning entry module-info.class from jar
file:jetty/9.2.4.v20141103/tempDirectory/webapp/WEB-INF/lib/slf4j-api-1.8.0-alpha2.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar
file:jetty/9.2.4.v20141103/tempDirectory/webapp/WEB-INF/lib/log4j-over-slf4j-1.8.0-alpha2.jar, java.lang.RuntimeException: Error scanning entry module-info.class from jar
file:jetty/9.2.4.v20141103/tempDirectory/webapp/WEB-INF/lib/jcl-over-slf4j-1.8.0-alpha2.jar] at
org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:535) at
org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:446) at
org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:473) at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1331) at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499) at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41) at
org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:186) at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:498) at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:146) at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180) at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64) at
org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:609) at
org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:528) at
org.eclipse.jetty.util.Scanner.scan(Scanner.java:391) at
org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313) at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150) at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:560) at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:235) at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at
org.eclipse.jetty.server.Server.start(Server.java:387) at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at …
Run Code Online (Sandbox Code Playgroud) 当在文件名中遇到null时java.io.File
,该字符及其后的所有字符都将被忽略,从而导致一些奇怪的行为File.exists()
.
这种行为是否是java.io.File.exists()
我错过的某些方面?
例:
package os;
import java.io.File;
import java.io.IOException;
public class FileNullCheck
{
public static void main(String[] args)
{
File tmp = new File("a.txt");
try
{
tmp.createNewFile();
}
catch (IOException e)
{
e.printStackTrace();
return;
}
String a = "a.txt";
System.out.printf("a.txt exists: %b (len=%d)%n",new File(a).exists(),a.length());
String anull = new String(new byte[] { 'a', '.', 't', 'x', 't', 0x00 });
System.out.printf("a.txt (null) exists: %b (len=%d)%n",new File(anull).exists(),anull.length());
String anullx = new String(new byte[] { 'a', '.', 't', …
Run Code Online (Sandbox Code Playgroud) java ×7
jetty ×7
websocket ×3
javascript ×2
json ×2
ajax ×1
atmosphere ×1
cors ×1
cross-domain ×1
eclipse ×1
file-io ×1
jetty-9 ×1
jsr ×1
netflix-zuul ×1
rest ×1
security ×1
slf4j ×1
socket.io ×1
ssl ×1
string ×1