问题标签 [embedded-jetty]
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.
java - 嵌入式码头应用程序无法从 jar 中运行
我有以下代码:
我在包中有Main
课程。com.domain
jsp 和 html 都在com.domain.webapps.app
包中。
当在 Netbeans 中(或java -cp <classpath> com.domain.Main
在分解的 jar 上)运行时,应用程序可以完美运行。
如果我运行 jar ( java -jar app.jar
),则将提取的内容com.domain.webapps.app
提取到/tmp/Jetty_something/webapp/
,因此完整路径是/tmp/Jetty_something/webapp/com/domain/webapps/app/
但是,当我提出请求时http://localhost:9090/app/file.jsp
,Jetty 会尝试从/tmp/Jetty_something/webapp/file.jsp
(错误的位置 :-()获取文件
我在哪里可以做什么?
码头版本是 6.1.26
java - 在 Jetty 中禁用 JSP servlet
我正在使用 Spring 和 Jetty。到目前为止,我还没有使用过 JSP,但我有一个使用它们的 3rd 方 servlet。
它显示在 Jetty 试图加载“jsp”servlet 的日志中。但我希望所有请求都通过 springs 调度程序 servlet。
我能做些什么来阻止 Jetty 拦截 *.jsp?
web.xml
非 JSP 请求的 Jetty 日志:
JSP 请求的 Jetty 日志:
jetty - 如何为码头服务器设置连接/请求超时?
我在我的应用程序中运行一个嵌入式码头服务器(码头 6.1.24),如下所示:
我想设置一个超时值(2 秒),以便如果 handler.handle() 方法花费超过 2 秒,码头服务器将超时并使用 408 http 代码(请求超时)响应客户端。
这是为了保证我的应用程序不会长时间持有客户端请求,并且总是在 2 秒内响应。
我做了一些研究并使用“connector.setMaxIdleTime(2000);”对其进行了测试 但它不起作用。
wicket - 如何使用 buildr 将 html 文件打包到 jar/war 中?
我正在开发嵌入式 Jetty + Wicket 应用程序,并且正在使用 buildr。现在,Buildr 不包括 jar 中的 HTML 文件(在主源文件夹中,在我的 *.java 文件旁边)。我如何告诉 buildr 将它们包含在编译/打包步骤中?
感谢您的建议,我想我已经接近了。也许我应该问的问题是如何将 .HTML 文件放到 target/classes/ 子目录中的正确位置?我已经确认,如果我可以在 target/classes 文件夹中获取 .html 文件,则 package(:jar) 会将它们存档。我要开始看那个了。
java - 程序化 Jetty 关闭
如何以编程方式关闭嵌入式码头服务器?
我像这样启动码头服务器:
现在,我想从一个请求中关闭它,例如http://127.0.0.1:8090/shutdown 我如何干净地做到这一点?
通常建议的解决方案是创建一个线程并从该线程调用 server.stop() 。但我可能需要调用 Thread.sleep() 以确保 servlet 已完成对关闭请求的处理。
java - 如何限制 Jetty 接受的连接数?
我正在运行 Jetty 7.2.2 并希望限制它将处理的连接数,这样当它达到限制(例如 5000)时,它将开始拒绝连接。
不幸的是,所有这些Connectors
似乎都继续并尽可能快地接受传入的连接并将它们分派到配置的线程池中。
我的问题是我在受限环境中运行,我只能访问 8K 文件描述符。如果我有一堆连接进来,我会很快用完文件描述符并进入不一致的状态。
我有一个选择是返回一个 HTTP 503 Service Unavailable
,但这仍然需要我接受并响应连接 - 我可能会通过编写一个 servlet 过滤器来跟踪某个地方的传入连接数。
有没有更好的解决方案?
java - Jetty 中 Struts 的编程配置
我正在尝试以编程方式在 Jetty 中配置 struts2,但是这样做有很多麻烦。
由于这些用于“单元”测试,我不希望使用 spring 或任何其他“DI 框架”。
这就是我所拥有的 - (这是在码头周围使用我的包装器,所以方法调用与码头不太匹配,但你可以很容易地得到这个想法)
那将失败,抱怨没有设置弹簧。我已经尝试过摆弄 FilterDispatcher 的子类,返回 MockConfiguration 和其他东西,但我并没有真正取得太大进展......
所以你必须实现一个 ActionMapper,如果你这样做了,那么你会从你的 MockConfiguration 中获得一个 UOE 来获取 getRuntimeConfiguration - 所以我认为这可能是错误的路径......
如果有人这样做,将非常感谢任何线索。
谢谢!!
詹姆士
wicket - 使用 Jetty 6.1.26、Weld 1.1.1 的接缝检票口
我正在尝试嵌入 Jetty 6.1.26、Weld 1.1.1、seam-wicket 3.0.0、Wicket 1.4.17 的 seam-wicket
在我修复了阻止找到 BeanManager 的 seam-wicket 错误之后(JNDI 不起作用,需要从 ServletContext 中提取 - 我为此使用了某人的类)。
然后我尝试了 RandomNumber 示例
http://docs.jboss.org/weld/reference/1.1.0.Final/en-US/html_single/#d0e948
并尝试在 Wicket 组件中@Inject
没有任何效果,我每次都得到这个:
那么,如何让 CDI 正常工作?感谢您的任何想法。
jsp - 当 jar 中指定类路径时,嵌入式 Jetty 无法加载 JSP 标签库
我遇到了类似问题似乎无法解决的问题。
我有一个使用 SpringMVC、JSP 和 taglibs 嵌入 Jetty 的应用程序。我使用一个 maven 插件来生成一个 jar,将所有依赖的 jar 捆绑到一个目录中并创建一个清单。
当我使用 jar(例如 java -jar app.jar)运行应用程序时,一切正常,直到我尝试加载指定的 JSP<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
或任何其他 taglib。
如果我运行 java 并在命令行上指定类路径并明确命名我的主类,则一切正常。我已经验证了我的应用程序 jar MANIFEST.MF 中的 Class-Path 是正确的。
到目前为止,我已经提出了两种我宁愿避免的解决方法。让我的启动脚本生成类路径并将其放在命令行上。或者,将 .tld 文件从 Jetty jsp-api 包中提取出来,并将它们作为常规文件提供,这样我就可以将它们指定为标记库。
我的理解是,Jasper 应该通过所有 Jar 的所有类路径来寻找 tld 文件?在命令行上将 jar 指定为类路径的一部分时,它可以工作,但是当在我的应用程序的 jar 中指定类路径时,它会失败。
gwt - 通过 GWT 按钮使用 Jetty 进行身份验证
我正在尝试使用 SmartGWT 创建一个登录页面,并且一直在尝试让表单身份验证与嵌入了 Eclipse 的 GWT 插件的 Jetty 服务器一起使用。我有一个使用 TextItems 获取用户名和密码的页面,然后一旦按下登录按钮,我就需要进行身份验证。
我已经设置了我的 jetty-web.xml 文件来创建一个自定义领域,它目前什么都不做,只是告诉我它的方法正在被调用,所以我知道它正在工作,因为一旦我进入那里,我很漂亮当然我可以弄清楚其余的。
码头-web.xml
[编辑 05/18 下午 1:16]
我的 CustomRealm 扩展了 Jetty 的 HashUserRealm,不知道这是否会导致问题,但我想我也会提到它。
我还在 web.xml 文件中设置了安全约束
web.xml 片段
我对做这种事情还很陌生,tbh。我不确定我是否需要约束。被注释掉是因为当我取消注释时,页面根本不会加载。
根据我的阅读,我认为使用 Jetty 的安全约束应该会弹出一个浏览器登录对话框。这不是我想要发生的事情,而且它实际上并没有。所以我不确定我在那里做错了什么。
我还在 GWT 中找到了 RequestBuilder 类,但这似乎并没有做任何我想做的事情。我需要登录按钮以某种方式在我的自定义领域中调用身份验证方法。我想知道是否有办法做到这一点?或者至少指向正确的方向,因为我一直在寻找并没有找到任何东西。
提前致谢。
[编辑 05/18 8:56am] 在彼得的建议之后添加我的 RequestBuilder 现在是如何设置的
[重新更新] 如果未注释 auth-constraint,则永远不会调用 onModuleLoad 方法。任何人都知道它为什么会这样做?