Iam пытается использовать websockets в моем уже работающем сервлете. Моя проблема заключается в том, что я использовал класс «writer» для отправки HTML на broswer, но я не могу найти аналогичный класс для WebSockets.Внедрить веб-узлы в моем сервлете Tomcat?
Мой сервлет выглядит следующим образом:
@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. Затем txt-файл будет сортироваться либо с помощью bubblesort, либо с помощью quicksort.
Вопрос: Как я могу использовать этот код в WebSocket без переписывания всего в javascript? Просто какая-то базовая помощь для начала мне очень поможет. Заранее спасибо.
Спасибо за asnwer. Мне нужно использовать WebSockets, потому что я должен сделать это как задачу, чтобы узнать больше о них. (В конце концов, я хочу, чтобы во время процесса сортировки загружался счетчик). Теперь я получил thejavascritp, который вы опубликовали, но как отправить данные HTML с сервера на страницу? В моем сервлете я использовал writer.println, но это больше не работает. И с outbound.writeTextData я могу отправлять только данные char? Я очень новичок в java, кстати, извиняюсь за многие вопросы. – registaid
@ user1677568 вы должны отправить HTML как данные char, т. Е. Преобразовать строку в CharBuffer. Здесь вы можете найти пример: http://www.tomcatexpert.com/blog/2012/05/01/how-apache-tomcat-implemented-websocket –