Можно ли ускорить загрузку таблицы?

я использую DataTables для довольно большой таблицы 1600 строк, и при загрузке, браузер показывает сначала все 1600 строк а потом только загружает ее с помощью DT в том виде в котором она должна быть(как на оф. сайте), и происходит это очень долго, можно ли ускорить это дело или хотя бы не показывать все 1600 строк до того как скрипт их загрузит? Код вывода:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page pageEncoding="utf-8"%>
  html>
<head>
    <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src = "http://code.jquery.com/jquery-1.9.1.js"> </script>
    <link href="https://nightly.datatables.net/css/jquery.dataTables.css" rel="stylesheet" type="text/css" />
    <script src="https://nightly.datatables.net/js/jquery.dataTables.js"></script>
    <script type="text/javascript" >
        <%@include file= "/WEB-INF/js/dataTables.searchBuilder.js"%>
    </script>

    <link href="https://nightly.datatables.net/searchbuilder/css/searchBuilder.dataTables.css?_=a51bf91506bde26d764a44ddd25768db.css" rel="stylesheet" type="text/css" />

    <link href="https://nightly.datatables.net/searchbuilder/css/searchBuilder.dataTables.css?_=a51bf91506bde26d764a44ddd25768db.css" rel="stylesheet" type="text/css" />
    <title>Project team list</title>

</head>
<body>
<div class="container">

    <table id="KipTable">
        <thead>
        <tr><th> ID </th><th> Короткое название </th><th>Полное название</th><th>Статус</th><th> Код проекта </th><th> </th></tr>
        </thead>
        <tbody>
        <c:forEach var="kip" items="${kip}">
            <tr>
                <td><a href='<c:url value="/kip_edit?id=${kip.id}"/>'>${kip.id}</a></td>
                <td>${kip.shortName}</td>
                <td>${kip.fullName}</td>
                <td>${kip.status}</td>
                <td>${kip.code}</td>
                <td>
                    <form method="post" action='<c:url value="/kip_delete" />'  style="display:inline;">
                        <input type="hidden" name="id" value="${kip.id}">
                        <input type="submit"  value="Delete">
                    </form>
                </td>
            </tr>
        </c:forEach>
        </tbody>
    </table>
</div>
</body>
<script id="rendered-js">
    $(document).ready( function () {
        var table = $('#KipTable').DataTable({
            dom: 'Qltip',
            stateSave: true
        });
    });
</script>
</body>
</html>

на стороне сервера используется Java 6 + Tomcat 7 UPD1: на сайте DT есть функция ServerSide(совет из комментария), но я не понимаю что делать с Ajax и как его использовать с сервером на Java, в примерах везде используется PHP который я не знаю

UPD2: добавил код сервлета:

public class Kip_list extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        ArrayList<Kip_line> kip = Kip_Zaprosy.select();
        req.getSession().setAttribute("kip", kip);
        req.getRequestDispatcher("/kip_list.jsp").forward(req, resp);
    }
}

Помогите пожалуйста с примерами, в интернете очень мало примеров как это делать, и люди используют spring который я не использую


Ответы (1 шт):

Автор решения: Roman C

Нужно использовать параметры iDisplayStart и iDisplayLength и, конечно же, свойство "bServerSide": true функции datatable ().

Функция Ajax передает некоторые параметры для загрузки данных, которые потом возвращает с сервера и подгружает в таблицу.

→ Ссылка