将Websockets实现到我的Tomcat Servlet中?

reg*_*aid 6 java tomcat servlets websocket

我试图在我已经工作的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("
[...]
Run Code Online (Sandbox Code Playgroud)

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

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

Kon*_*tov 3

首先,如果您想使用 tomcat 中的 websockets,您应该从相应的基类 WebSocketServlet 进行扩展。

其次,我认为在您的情况下不值得使用 websocket。Websocket 非常适合需要实时交互的应用程序。你的显然不需要它。

如果您仍然想这样做,只需创建一些简单的 javascript 即可将 html 写入正文。与以下内容类似:

websocket = new WebSocket(wsUri); 
websocket.onmessage = function(evt) { 
  document.body.innerHtml += evt.data
};
Run Code Online (Sandbox Code Playgroud)

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