标签: jetty

找不到Eclipse部署描述符

我有一个在eclipse中创建的动态Web项目.我移动了WebContent文件夹的位置(位于/ src文件夹中).但是,该项目仍然认为目录是在/projectName/WEB-INF/(我知道这是因为当我尝试在部署描述符中打开一个元素时它告诉我该路径不存在(它不存在,但我需要指出它)到新的位置).

如何将构建指向WebContent文件夹(和WEB-INF等)的新位置?谢谢.

java eclipse jetty java-ee

2
推荐指数
3
解决办法
3万
查看次数

如何查询 servlet 容器以从 ServletContextListener 获取有效 URL?

作为这个问题的扩展,有没有办法从 ServletContextListener 的范围内获取同一容器中特定页面的有效 URL?

为什么我需要这个的一些背景:

在一个相当复杂的系统中,我设置了一个简单的 servlet 来显示 JSON 中的当前信息,这样我就可以根据需要轻松地显示它。

现在我想更进一步,保留一份历史记录,以查看这些测量点的时间演变。

我已经设置了一个简单的 ServletContextListener,它启动一个线程以按设定的时间间隔轮询同一个页面,我可以将数据保存到文件中,然后我可以在以后读取。

一切正常,除了我必须通过配置手动指定目标页面的 URL。如果我能以编程方式获取这些数据,那么会减少一个可能出错的配置点。我认为它不应该太难,因为一切都源于相同的上下文,但事实证明它显然没有那么简单。由于一切都紧密联系在一起并且该线程在服务器上运行,因此主机地址可以硬编码到本地主机。也就是说,我仍然需要获取 webapp 的端口和基本路径。从那里我可以接手,因为我知道 webapp 中的结构。

所以......我怎样才能以编程方式获取该信息,并让稍后部署应用程序的可怜的 sap 的生活更轻松!

java url port jetty servlet-listeners

2
推荐指数
1
解决办法
3385
查看次数

如何从外部 IP 地址访问 Solr?

我在 Jetty 容器中的本地主机上的服务器上运行 Solr。

这似乎是一个显而易见的问题,但是如何从服务器本身外部访问 Web 界面,例如从外部 IP 地址访问?显然,身份验证作为任何解决方案的一部分都很重要。

如果这是一个很好的解决方案,我也在服务器上运行 Apache2。我很惊讶我找不到任何关于此的信息。

authentication solr jetty

2
推荐指数
1
解决办法
7176
查看次数

如何确定要使用哪个版本的 Jetty?

在我的 maven java webapp 构建中,我有以下插件:

<plugin>
   <groupId>org.mortbay.jetty</groupId>
   <artifactId>jetty-maven-plugin</artifactId>
   <version>8.1.8.v20121106</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但是我使用的 Jetty 版本有那个烦人的“空身份服务”,所以我想升级我使用的版本,但我想不出任何好方法来确定哪个版本的 jetty 是最好的让我跑。

我找到了这个 Jetty 文档,它显示了一些信息,但只涉及大版本号,如 6、7、8 和 9。我使用的是 javax.servlet 3.0.1,所以我想我想要码头 8 或 9 .

这个 Jetty 文档似乎告诉我如何找出要使用的各个版本,但我并不完全明白。从那看来,也许我应该使用 9.0.0.RC0?

jettymaven repo 页面上,我可以看到很多版本,但最新的版本8 是我使用的带有漏洞的身份服务的版本,而9 都是“里程碑”,我认为这意味着它们是比较不靠谱?我真的不知道“里程碑”是什么意思。

我很感激一些指导或建议!

java jetty maven

2
推荐指数
1
解决办法
2万
查看次数

用于生产的轻量级 servlet 容器

我在生产中使用 Tomcat。

Jetty 和 Winstone ( /sf/ask/106095811/ ) 是否适合生产使用?

我很高兴放弃功能以换取简单。Servlet 和过滤器可能就足够了,而且服务器负载不重,因此有兴趣尝试在极简平台上运行它。坚持使用Tomcat也很好。

production tomcat servlets jetty winstone

2
推荐指数
1
解决办法
2985
查看次数

使用嵌入式码头在 netbeans 中附加调试器

我现在正在寻找如何将调试器附加到 netbeans 中的方法。所以我们有一个 Start.java 类,其中嵌入了码头。类似于这个http://wiki.eclipse.org/Jetty/Tutorial/Embedding_Jetty 所以我通过运行这个 Start.java 文件来启动我的 Web 应用程序。一切正常,直到我想调试为止。我已经看到了多种关于 eclipse 的方法,而我为 netbeans 找到的极少数方法没有帮助。

有人有线索吗?在项目属性中,在操作下,我添加了 Env.MAVEN_OPTS=-Xms512m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m -Xverify:none -Xnoclassgc -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

在通过 main() 运行文件和通过 main() 调试文件下

当我附加 java 调试器 (jpda) 时,它似乎正在运行,但它忽略了断点

有人知道吗?

提前致谢

debugging netbeans jetty jpda

2
推荐指数
1
解决办法
3148
查看次数

Jetty 和 Jersey:所有东西如何组合在一起?

我正在寻找使用带有嵌入式 Jetty 的 jersey 来为我们的服务实现 Web API。我看到 ServletContextHandler 、 ServletHolder 和所有这些类用于让 Jetty 了解 Jersey 处理程序的代码。我很想知道在幕后,比如当我们编译这段代码时会发生什么,码头实际上是如何发现球衣处理程序的。我知道,如果我开始阅读文档,我将能够弄清楚,但是,寻找一些涵盖此主题的快速链接。有没有这样的链接?

谢谢。

java rest jetty jersey

2
推荐指数
1
解决办法
3979
查看次数

使用 jetty-runner 运行 Jetty 时更改端口

我正在执行以下命令行:

java -jar C:\WorkArea\jetty-runner.jar c:\name.war --port 9090
Run Code Online (Sandbox Code Playgroud)

我期望它在端口 9090 上运行,但它继续使用默认端口 8080 运行。我错过了什么?当运行 eclipse 本身时,它使用 8888,所以它不会从那里获取这些信息,我还能在哪里/如何控制端口?谢谢

java command-line jetty

2
推荐指数
1
解决办法
1225
查看次数

当浏览器不支持 http2 时回退到 http1.1

我正在学习 HTTP2 并使用 jetty 开发了一个 POC,它在 chrome 中运行良好。

但是,当我在 firefox 中点击相同的 URL 时,我的 HTTP2 URL 请求得到了空白页面,异常显示“您尝试查看的页面无法显示,因为无法验证接收到的数据的真实性。” 四处搜索后发现在firefox中我必须从“about:config”启用network.http.spdy.enabled.http2。

我的问题是,如果浏览器不支持 HTTP2,服务器或浏览器端是否有任何机制可以回退到 HTTP1。

firefox jetty http2

2
推荐指数
1
解决办法
3203
查看次数

嵌入式码头:注册ServletRequestListener的ServletContextListener

我正在使用嵌入式Jetty v9.4.x,并且存在以下问题:

我的服务器注册了ServletContextListener

    final WebAppContext context = new WebAppContext();

    // add listener
    context.addLifeCycleListener(new AbstractLifeCycle.AbstractLifeCycleListener() {
        @Override
        public void lifeCycleStarting(LifeCycle event) {

            ContextHandler.Context ctx = context.getServletContext();
            ctx.setExtendedListenerTypes(true);
            ctx.addListener("LISTENER_CLASS_NAME");
        }
    });
Run Code Online (Sandbox Code Playgroud)

Servet启动时将呼叫我的听众。但是,我的上下文侦听器注册了一个ServletRequestListener内部:

servletContext.addListener(foo.MyServletRequestListener.class);
Run Code Online (Sandbox Code Playgroud)

并且失败,但以下异常:

java.lang.UnsupportedOperationException
    at org.eclipse.jetty.servlet.ServletContextHandler$Context.addListener(ServletContextHandler.java:1506)
Run Code Online (Sandbox Code Playgroud)

当我看时似乎没有启用上下文(至少,此标志使将引发异常)。

当我运行相同的应用程序且web.xml一切正常时。

如何让contextListener注册一个ServletRequestListener

编辑

Jetty代码中有明确的注释:

//toggle state of the dynamic API so that the listener cannot use it
Run Code Online (Sandbox Code Playgroud)

仅在以编程方式添加的侦听器上启用此功能-使用API​​而不启用web-xml

我该如何做这项工作???

jetty embedded-jetty

2
推荐指数
1
解决办法
1400
查看次数