我试图在我已经工作的servlet中使用websockets。 我的问题是我使用“编写者”类将HTML发布到broswer上,但我找不到类似的WebSockets类。

我的servlet看起来像这样:

@WebServlet("/TestServlet")

public class TestServlet extends HttpServlet {
private List<ISort> sortierListe = new ArrayList<ISort>();
private File file1;
private PrintWriter writer2;
private boolean sortFinished;
boolean bSubmitForFilenamePressedCopy;
BufferedReader in;
// private String sEingabe;
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public TestServlet() {
    super();    
    this.initSortierverfahren();
}

private void initSortierverfahren() {
    sortierListe.add(new BubbleSort());
    sortierListe.add(new QuickSort());
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
 *      response)
 */
protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

[...]

PrintWriter writer = response.getWriter();
    writer2 = writer;
    writer.println("<html>");
    writer.println("<head><title>Text Sortieren!</title>");
    writer.println("</head>");

    writer.println("<body marginwidth='40' leftmargin='40' bgcolor='#E5E5E5'>");

    writer.println("<table bgcolor='#FFFFFF' height='100%' width='57%' border='0' cellpadding=10>");
    writer.println("<tr height='10%'>");
    writer.println("
[...]

代码太长而无法发布所有内容,但Servlet基本上创建了一个表单,我可以在其中输入.txt文件的路径。 然后将通过bubblesort或quicksort对txt文件进行排序。

我的问题是:如何在不重写javascript中的所有内容的情况下在WebSocket中使用此代码? 只是一些基本的帮助开始将帮助我很多我想。 提前致谢。

#1楼 票数:3

首先,如果要使用tomcat中的websockets,则应该从相应的基类WebSocketServlet扩展。

其次,我不认为在你的情况下使用websocket是值得的。 Websockets适用于需要实时交互的应用程序。 你的人显然不需要它。

如果您仍想要这样做,只需创建一些简单的javascript,它会将您的html写入正文。 与...有关的东西:

websocket = new WebSocket(wsUri); 
websocket.onmessage = function(evt) { 
  document.body.innerHtml += evt.data
};

但正如我所说,我认为在这样的代码中没有用处。

#2楼 票数:0

在从普通servlet转移到websocket之前,请记住几件事。

  1. 使用最新的apache tomcat版本。 Plder版本不支持websockets。 (在我的情况下,我使用的是7.0.42版本)
  2. 您不能简单地用WebSocket替换您的Servlet。 两者的目的完全不同。 谷歌了解更多细节。

WebSocket示例代码提供服务器端和客户端示例代码。 你应该参考它开始。

  ask by registaid translate from so

未解决问题?本站智能推荐:

1回复

本地主机上的 Apache Tomcat websockets 实现

我正在尝试学习 websockets。 在 apache tomcat 7 websockets 示例中尝试了一些示例 -> 'http://tomcat.apache.org/tomcat-7.0-doc/web-socket-howto.html'。 我已经完成了客​​户端代码。 服务器端
2回复

通过tomcat中的Servlet的Websocket

我正在尝试通过servlet实现Web套接字。 我的应用服务器是tomcat 7。 我可以找到使用WebSocketServlet类的示例。 但是该类已在tomcat 8中弃用并删除。 我看到了另一个替代方法,该方法是使用以下注释该类 我需要帮助来理解 如
1回复

tomcat websocket servlet监听端口

我正在尝试编写一个使用org.apache.catalina.websocket.WebSocketServlet的servlet。 我找到了一个websocket聊天的例子,但我无法弄清楚如何为websocket服务器(在这个servlet中实现)指定监听端口? 例如,我需要在端口1133
4回复

JSR-356 WebSockets with Tomcat - 如何限制单个 IP 地址内的连接?

我制作了一个 JSR-356 @ServerEndpoint ,我想在其中限制来自单个 IP 地址的活动连接,以防止简单的 DDOS 攻击。 请注意,我正在搜索 Java 解决方案(JSR-356、Tomcat 或 Servlet 3.0 规范)。 我尝试过自定义端点配置器,但即使在Handsh
1回复

Tomcat 8 Java 8的HttpServletRequest.getRemoteAddr()为空

如果我使用Java 6运行Tomcat 7,则HttpServletRequest.getRemoteAddr()方法将返回我期望的IP地址。 如果我使用Java 8运行Tomcat 8,则相同的方法将返回一个空字符串。 在两种情况下, X-Forwarded-For标头也为null
1回复

javax.websocket.DeploymentException:在尝试部署到 Tomcat 时,找不到方法 [OnMessage] 上存在的消息参数的解码器

我一直在使用 Netbeans IDE 来开发我的网站,同时也使用内置于 Glassfish/Tomcat 服务器中的 Netbeans,没有任何问题; 但是,当我尝试将我的网站上传到托管服务器时,在尝试部署时出现错误,我找不到太多信息,我也不知道为什么会收到此错误。 我使用的是 AWS 风格的托管
1回复

Tomcat:在同一个Web应用程序中使用servlet和websocket(jsr356)

我在tomcat中使用Guice-servlets和websocket创建了一个示例webapp,现在一次使用guice过滤器websocket停止工作 基本信息: 在我的web.xml中,我使用GuiceBasedListener初始化了GuiceBasedListener
3回复

我的第一个Tomcat Servlet

我似乎在使用Tomcat servlet时遇到麻烦,甚至无法设置自己的servlet。 我正在使用Windows Vista x64位。 我可以连接并查看servlet示例。 我只是不知道该如何创建自己的。 谁能给我找一个有关“我的第一个servlet”的指南,以及有关操作方法的逐步