jjzjj

java - 如何使用带有 Kerberos 身份验证的嵌入式 Jetty Server 9?

我正在尝试使用Jetty嵌入式服务器来公开我的RestAPI,现在我想实现Kerberos身份验证。这就是我创建SecurityHandler的方式StringdomainRealm="MY.COM";Constraintconstraint=newConstraint();constraint.setName(Constraint.__SPNEGO_AUTH);constraint.setRoles(newString[]{domainRealm});constraint.setAuthenticate(true);ConstraintMappingcm=newConstraintM

java - 是否可以对 Jetty 的 servlet 映射使用正则表达式?

我有这个映射service/service/*但我也想要/服务/主人映射到主servlet。master/service/master我认为这里存在冲突,因为调用/service/*会立即触发服务servlet。有没有办法让我在servlet映射中使用某种排除或者可能是正则表达式来做我想做的事? 最佳答案 Servlet映射总是使用最具体的匹配,所以路径/service/master将始终映射到master.这是来自Servlet3.0spec的第一条映射规则:Thecontainerwilltrytofindanexactmatc

java - 将自定义 keystore 与 Jetty 的 WebSocketClientFactory 结合使用

我有一个Java项目,它通过使用自签名证书的安全WebSocket传输连接到CometD服务器。我按以下方式配置WebSocketClientFactory:wssFactory.getSslContextFactory().setKeyStorePath("/path/to/my/custom.jks");wssFactory.getSslContextFactory().setKeyStorePassword("mypass");然后像这样创建我的BayeuxClient:BayeuxClientclient=newBayeuxClient("wss://myserver.com/

java - Dropwizard 0.8 和 Jetty 在资源上失败返回 404

我正在尝试连接一个dropwizard0.8.*应用程序,并且我使用了一个helloworld入门示例。代码保持不变,应用程序正常启动。虽然当我尝试访问分配给helloworldGET请求的路径时,浏览器返回一个:HTTPERROR404Problemaccessing/hello-world.Reason:NotFound这有点奇怪,因为应用日志另有说明并为该请求返回200:0:0:0:0:0:0:0:1--[15/Sep/2015:07:33:58+0000]"GET/hello-worldHTTP/1.1"200-"-""Mozilla/5.0(Macintosh;IntelMa

java - 程序化 jetty 关闭

如何以编程方式关闭嵌入式jetty服务器?我这样启动jetty服务器:Serverserver=newServer(8090);...server.start();server.join();现在,我想根据请求关闭它,例如http://127.0.0.1:8090/shutdown我如何干净地做到这一点?通常提出的解决方案是创建一个线程并从该线程调用server.stop()。但我可能需要调用Thread.sleep()以确保servlet已完成对关闭请求的处理。 最佳答案 我找到了一个非常干净整洁的方法here神奇的代码片段是:-

java - 如何配置 jetty 以使用 log4j?

如何配置jetty以使用log4j?我已经在我的应用程序中使用log4j,而jetty记录到stderr...importorg.apache.log4j.Logger;importorg.apache.log4j.PropertyConfigurator;importorg.eclipse.jetty.server.Connector;importorg.eclipse.jetty.server.Server;importorg.eclipse.jetty.server.nio.SelectChannelConnector;importorg.eclipse.jetty.servle

java - 使用 Jetty 嵌入式容器时,ServletContextHandler.setResourceBase 和 ResourceHandler.setResourceBase 有什么区别?

我正在使用嵌入式Jetty创建静态网站。ServletContextHandler.setResourceBase("...")是否与ResourceHandler.setResourceBase("...")具有相同的效果?例子://ServletContextHandlercaseServletContextHandlercontext=newServletContextHandler(ServletContextHandler.SESSIONS);context.setResourceBase("/tmp/...");//ResourceHandlercaseResourceHa

java - 以编程方式设置 Jetty 配置以增加允许的 URL 长度

我们正在使用嵌入式Jetty9.3.1.v20150714并遇到了problem其中我们的长查询URL与其他header相结合,比允许的要长。solution看起来很简单:增加HttpConfiguration中的requestHeaderSize。但我如何轻松做到这一点?我目前正在创建一个Server、一个ServletContextHandler和一个ServletHolder。但是要混合自定义HttpConfiguration,我是否必须创建新的ServerConnector和HttpConnectionFactory?我是否必须覆盖HTTP和HTTPS配置?如何在不重新配置所有

java - cometd vs pubsub..?

我可以知道这两种方法有什么不同吗?能通俗地解释一下吗? 最佳答案 Comet是一种将实时数据推送到网络浏览器的技术-因此页面可以不断更新。有关详细信息,请参阅此页面aboutComet.Pub/Sub(或发布/订阅)与Comet没有什么不同,它是一种告诉Comet服务器您想要接收什么数据的方式(订阅)并将数据发送给其他订阅者(发布)。许多Comet服务器实现了发布/订阅模型。StreamHubCometServer中的真实示例:订阅:我想接收有关Google的新闻:hub.subscribe("/news/google",funct

java - 如何使 Tomcat 快速加载更改以加快 Java Web 开发速度

我的应用程序使用Struts2MVC、带EclipseIDE和Tomcat的SpringJDBC模板。每当我更改类代码时,我都必须重新启动Tomcat,每次大约浪费15-20秒。我已经配置了热部署,即on-java-class-change,自动重新加载上下文,但它经常失败,我必须重新启动Tomcat。我的愿望是:当我对JSP进行更改时,它应该自动加载,而不是在第一次请求时加载。当一个java类被更改和构建时,只应该加载那个类,而不需要重新启动Tomcat,甚至整个上下文也不应该重新启动或重新加载。如果有人使用过Jetty,请分享-Jetty是否为这些问题提供了更好的解决方案。在PHP