- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在制作 websocket example of jetty 时遇到问题工作
public class App {
public static void main(String[] args) {
Server server = new Server(8080);
ServletHandler handler = new ServletHandler();
server.setHandler(handler);
handler.addServletWithMapping(MyEchoServlet.class, "/test/*");
try {
server.start();
server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
public class MyEchoServlet extends WebSocketServlet {
@Override
public void configure(WebSocketServletFactory factory) {
//factory.getPolicy().setIdleTimeout(10000);
factory.register(MyEchoSocket.class);
}
}
@WebSocket(maxMessageSize = 64 * 1024)
public class MyEchoSocket {
Session session;
@OnWebSocketConnect
public void onConnect(Session session){
this.session = session;
System.out.println("init "+session.getUpgradeRequest().getRequestURI().getPath() );
}
@OnWebSocketMessage
public void onText(String msg) {
System.out.println("rec "+msg );
try {
session.getRemote().sendString(msg);
} catch (IOException e) {
e.printStackTrace();
}
}
@OnWebSocketClose
public void onClose(int statusCode, String reason) {
System.out.println("MyWebSocket.onClose()");
}
}
}
当我尝试从 javascript 创建 Websocket 时出现以下错误:
var ws = new WebSocket("ws://localhost:8080/test/");
服务器错误:
2013-09-14 15:57:04.076 INFO Server - jetty-9.0.5.v20130815
2013-09-14 15:57:04.122 INFO ServerConnector - Started ServerConnector@1a51ce0{HTTP/1.1}{0.0.0.0:8080}
2013-09-14 15:57:11.700 WARN ContextHandler - unavailable
java.lang.InstantiationException: app.App$MyEchoServlet
at java.lang.Class.newInstance(Unknown Source)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:979)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:523)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:424)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:671)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:505)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:434)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:445)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
at java.lang.Thread.run(Unknown Source)
2013-09-14 15:57:11.706 WARN ServletHandler -
javax.servlet.ServletException: app.App$MyEchoServlet-4598284@e19c6ca5==app.App$MyEchoServlet,-1,false
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:563)
at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:424)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:671)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:505)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:434)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
at org.eclipse.jetty.server.Server.handle(Server.java:445)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:268)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:358)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.InstantiationException: app.App$MyEchoServlet
at java.lang.Class.newInstance(Unknown Source)
at org.eclipse.jetty.servlet.ServletHolder.newInstance(ServletHolder.java:979)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:523)
... 13 more
jetty 版本:9.0.5v20130815(来自 maven eclipse.jetty 仓库)
最佳答案
因为您已将 servlet 和套接字都声明为内部类,请更改以下两行代码 ...
// From
public class MyEchoServlet extends WebSocketServlet {
// To
public static class MyEchoServlet extends WebSocketServlet {
// From
public class MyEchoSocket {
// To
public static class MyEchoSocket {
这是因为 Java 不能只实例化一个非静态内部类。
在你的 main() 方法中尝试这个,你会看到......
Servlet test = new MyEchoServlet();
关于java - Jetty Websocket servlet InstantiationException 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18802527/
这是我第一次编写 JUnit 测试,遇到了以下问题。我必须为抽象类编写测试,有人告诉我这样做: http://marcovaltas.com/2011/09/23/abstract-class-tes
我编写了以下类,类中的其余代码是@Overrides,请告诉我其余代码是否与此处相关,我将添加它。 public class ListCmd extends LibraryCommand {
我有一个 InstantiationException,我在这里搜索了其他答案和问题,但找不到与我的问题相关的任何内容。该应用程序在 MainActivity 上崩溃,查看 logcat,它给出了一个
我还没有完成这个应用程序,但我希望在我的手机上看到它的样子。但是,它会强制关闭并引发 InstantiationException。 logcat 异常: 09-19 20:13:47.987: D/
我正在尝试做一个服务示例程序,但出现以下异常 09-10 20:57:57.871: E/AndroidRuntime(280): FATAL EXCEPTION: main 09-10 20:57:
从 hibernate 中获取对象时出现问题。堆栈跟踪是: org.hibernate.InstantiationException: Could not instantiate entity: ma
我有一个项目实体(如下所示)。当我尝试改变 var fullName: String?= null 至: var fullName: String, 我突然从Hibernate收到Instantiat
我这里有一个小问题,需要我一些意见。 这是一个和平的代码 @XmlRootElement public abstract class Article { // quert params and
我正在尝试向我的代码添加异常,以便每当 securityManager 返回 false 时都会引发异常: public Appointment(String date,String time) {
我写了自己的客户转换器: public class MyFancyCustomConverter extends DozerConverter { public MyFancyCustomCo
当我尝试启动 IntentService 时收到 InstantiationException。我在这里查看了其他线程,但答案并没有解决我的问题。我的服务类确实有一个默认构造函数。这是我的服务类。 (
我的理解是,已检查的异常是可以合理预期调用者可以从中恢复的异常。我不明白为什么 InstantiationException 会出现这种情况。如果无法实例化一个类,那么调用者应该做什么? 然后我认为代
我无法创建 B 对象,但为什么? public class AFactory { public int currentRange; private abstract class A {
这个问题在这里已经有了答案: newInstance() with inner classes (3 个答案) 关闭 5 年前。 看下面的代码: public class Outer { p
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: Android RuntimeException: Unable to instantiate the serv
我正在尝试在hadoop文件系统上运行我的jar,但遇到此异常 See image 如果我从eclipse运行,我的代码将成功运行。 这是我的亚军主类 public class ReadCas
我想创建一个包含实体的模拟。可以有两种实体:复杂实体和简单实体。当我实例化一个简单的模拟时,我希望实例化简单的实体,当我实例化一个复杂的模拟时,我希望实例化复杂的实体。 实体: class Compl
这个问题已经有答案了: How to instantiate an inner class with reflection in Java? (2 个回答) 已关闭 8 年前。 我正在学习 Java
A.我想使用如下所示的 AlertDialogBox 匿名类创建 Popup: private void showPopupChangeCurrency(final CharSequence[] it
这个问题已经有答案了: Can I use Class.newInstance() with constructor arguments? (9 个回答) 已关闭 6 年前。 我有两个流程,如下所示。
我是一名优秀的程序员,十分优秀!