问题标签 [jetty-9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
727 浏览

servlets - 在使用 Jetty 9 的 SBT 项目中,无法使用 @WebServlet 注释连接 servlet

我在处理已转换为使用 SBT(之前纯粹基于 Eclipse)的现有 Java 项目时遇到了这个问题。org.my.FooServlet即使 Eclipse(仍在使用 Eclipse 和 sbteclipse)报告映射/FooServletorg.my.FooServlet.

因此,为了排除一些可能源于将项目转换为使用 SBT 的问题(例如,一些缺少的依赖项,或者隐藏或看似不相关的(错误)配置问题),我继续创建了一个新的 SBT 项目来尝试重现问题的复杂性最小。所以我目前有以下配置/代码/输出,但仍然遇到问题:

container:start输出:

build.sbt

project/plugins.sbt

src/main/java/webtest/TestServlet.java

src/main/webapp/WEB-INF/web.xml:(完全删除它没有区别)

每当我编辑和保存两个代码文件中的任何一个时,都会重新加载容器,并且文件已被编译,因此至少 SBT 正在拾取它们;现在的问题是,为什么不是 Jetty。我也尝试过(在原始项目中,而不是测试虚拟项目中)将所有类从下面复制target/scala-2.10/classessrc/main/webapp/WEB-INF/classes无济于事。

0 投票
1 回答
2855 浏览

jetty - 设置 WebAppContext.configurationClasses 时,jetty-web.xml 中的 java.lang.reflect.InvocationTargetException

我试图添加org.eclipse.jetty.annotations.AnnotationConfiguration到 but 的configurationClasses属性org.eclipse.jetty.webapp.WebAppContext(使用 调用 Jetty 时sbt containe:start),得到:

我尝试将 a 更改<Set ...>为 a <Call name="setConfigurationClasses">(同时具有 theString[]List<String>变体)但无济于事 - 每次仍然得到相同的反射异常。

jetty-web.xml的如下:

答案:https://github.com/JamesEarlDouglas/xsbt-web-plugin/blob/master/src/jetty-9/scala/Jetty9Runner.scala决定,xsbt-web-plugin 将配置属性设置WebAppContext为硬编码值,因此无论 XML 配置中有什么内容,它都可能会被忽略(或者显然会导致错误)。

0 投票
1 回答
1876 浏览

java - 为什么 Jetty 9.x 中的 ServletTester 这么慢?

Jetty 的 ServletTester 对于测试 Servlet 应用程序非常有用。我以前使用过 Jetty 6 的 ServletTester,它运行良好。

例如:

码头 6.x

pom.xml

SampleServletTest.java

码头 9.x

ServletTester 的 API 在 Jetty 9.x 中得到了很大改进。

pom.xml

SampleServletTest.java

新的 API 看起来很酷,但不幸的是上面的代码运行得很慢……这段代码每次运行需要 10 秒。你相信吗?

有没有人知道这个问题?如果这只是我的错误,这是非常好的消息。

0 投票
1 回答
1492 浏览

jetty - 如何使用 Jetty HTTP Client v9 覆盖默认主机请求标头?

我正在使用 Jetty 客户端 v9 向服务器发出请求。我指定的服务器的地址必须采用实际(数字)IP 地址的形式,原因有多种,但我想在 Host 标头中传递假定的主机名(即 FQDN,不是数字) . 我尝试了以下方法:

但是发现这并没有什么效果。实际请求中包含的“Host”标头的值仍然是来自 URL 的值(包含数字 IP 地址)。我确实验证了上面的“hostHeader”变量确实包含正确的值(我想要的)。

谁能提供一些有关如何覆盖此默认行为的见解?

提前致谢!

0 投票
1 回答
4960 浏览

java - 在 Java 6 上运行 Jetty 9

我为一家不会在我们的服务器上从 JRE 6 升级到 JRE 7 的公司工作。我已经使用 Jetty 9 成功开发了一些适用于 JRE 7 的代码。但是,我无法在公司服务器上运行此代码。我想知道这里是否有人知道在 JRE 6 上运行 Jetty 9 的方法。我特别需要 Jetty 9 中的 HTTPConfiguration 类。

我能想到的唯一可能的事情是下载 Jetty,将其设置为 1.6 合规性并从中工作。我真的希望(在黑暗中开枪)有人有更好的主意。

0 投票
1 回答
1269 浏览

logging - 如何将日志文件放在码头首页之外..?

我已将 log4j 属性放在资源目录中,码头现在正在${jetty.home}/logs/ 目录中的文件中写入日志,其中包含一些自动生成的名称,例如2014_02_11.stderrout.log.071800746但在我的 log4j 属性中我指定如下,

这是否可以在jetty home之外编写jetty服务器日志,如果是的话怎么做。有人帮助我。

0 投票
1 回答
533 浏览

java - 码头 9.0.4 -> 9.1.2:WebServlet 不再加载

将 servlet 从 jetty 9.0.4 升级到 9.1.2。在针对 9.1.2 运行时,我的简单 servlet 不再初始化。这是通过对我的服务器分发 maven 项目运行 mvn dependency:tree 可视化的两个版本生成的差异:

我正在使用 web.xml 注册 servlet 类。有什么提示吗?我知道这不是太多的信息,但也许有人在升级到 9.1 时遇到了类似的问题......它实际上只是一个非常简单的 WebServlet 类,我什至找不到关于如何升级这些东西的指南。一份变更清单(重要的东西)也会有所帮助……我的意思不仅仅是一个变更日志。

我什至没有收到错误,所以码头 9.1 似乎完全忽略了 web.xml ......??

码头.xml:

网页.xml:

0 投票
0 回答
546 浏览

jetty - 从 Jetty 9 服务器内的工作线程执行新的 HttpServletRequest

我的网络应用程序基于(嵌入式)Jetty 9。在 Jetty内部运行的代码(即来自 *.war 文件)有时需要将 HTTP 请求执行回 Jetty 及其本身,完全异步到“真实" 来自网络的 HTTP 请求。

我知道你会说什么,但这是我在将多个不同的产品合并到一个容器中后最终遇到的情况,目前无法避免。一个权宜之计已经到位 - 它实际上将网络 HTTP 请求发送回自身(目前使用 Jetty 客户端,但这并不重要)。然而,这不仅增加了更多开销,而且还不允许我们传递我们希望能够通过请求属性传递的实际对象引用。

希望能够做一些事情,比如构建新的 HttpServletRequest 和 HttpServletResponse 对,并使用调度程序“包含”(或类似)我们目前只能通过网络访问的另一个 servlet。我们已经构建了它们的“虚拟”实现,但是这在 Jetty 的调度程序第 120 行失败,并出现空指针异常:

...因为这不是Jetty 的 Request 类的实例,并且 getCurrentHttpChannel() 返回 null 因为线程是工作线程,而不是 http 服务线程,并且没有设置 Jetty 的线程本地。

我正在考虑选择,但如果有人可以提供的话,我想要一些指导。我正在考虑的一些事情:

  1. 实际上使用 Jetty 的 Request 类作为基础。目前对 Web 应用程序不可见(一个容器类,可能必须使用类路径和类加载器。可能仍然不可能(不知道那里会发生什么)。
  2. 使用 Jetty 的线程本地变量,尝试告诉 Jetty 根据需要设置当前线程。不知道从哪里开始。更新试图 setServerClasses([]) 然后将当前 HttpChannel 设置为我从另一个线程“偷”的那个。惨遭失败:java.lang.IllegalAccessError:试图从类访问方法 org.eclipse.jetty.server.HttpChannel.setCurrentHttpChannel(Lorg/eclipse/jetty/server/HttpChannel;)V ...
  3. 理想情况下,找到一种更好/正确的方式来提供“顶级”请求,而无需通过网络。理想情况下会在同一个线程上执行,但我不太关心这一点。

请记住,不幸的是,我目前无法避免这种情况。我宁愿直接调用代码,但我不能,因为我必须添加到我的代码现在太大而无法处理,并且太依赖于一些我什至无法修改的第三方过滤器(并且只能用作过滤器,根据实际要求)。

请帮忙!

0 投票
1 回答
886 浏览

maven - 将网站作为 JAR 文件执行时,JSTL 导致“无法解析 ERROR 500 absolute uri”

在将我的网站作为 JAR 执行时,我无法让 JSTL 正常工作(如果我直接使用类文件,则工作正常)。

当我运行mvn package时,会在目标目录中创建依赖目录和 website-1.0-SNAPSHOT.jar。我尝试使用以下两个命令启动网站:

当我尝试访问网站时,这些都导致了以下异常(启动本身完成,没有任何异常)。

org.apache.jasper.JasperException: /WEB-INF/pages/index.jsp(1,1) /WEB-INF/pages/header.jsp(1,61) PWC6188: 绝对 uri: http://java. sun.com/jsp/jstl/core无法在 web.xml 或随此应用程序部署的 jar 文件中解析

现在,如果我尝试使用以下命令(或通过 IntelliJ)启动网站,一切正常。

我可以看到 javax.servlet.jsp.jstl-1.2.0.v201105211821.jar 在 MANIFEST 中被引用(并且存在于依赖项目录中)所以我不相信它与缺少依赖项有任何关系( MANIFEST、依赖目录和 IntelliJ 生成的类路径之间的差异被证明是不确定的,尽管我很累,所以明天必须重新审视这个)。

运行 jar 文件时有没有其他人遇到过这个问题?或进一步调试的建议。我正在使用 Java 7、Jetty 9(嵌入式)、Spring MVC 3.2.4、JSTL 1.2 和 Maven 3.1.0。

我的 pom 和 web.xml 在下面。

pom.xml

web.xml

0 投票
0 回答
419 浏览

java - 使用 org.eclipse.jetty.continuation.Continuation 控制单个 HTTP Keep-Alive 请求的每秒事务数

我们如何使用org.eclipse.jetty.continuation.Continuation类处理单个 HTTP keep-Alive 请求的每秒事务数。

我扩展了org.apache.camel.component.http.CamelServlet并覆盖了它的服务方法,在 HTTPConsumer 的帮助下我得到了骆驼交换。

我无法弄清楚如何在这个单一的 HttpRequest 对象中获取交易数量。

这是代码:-