Внутренняя ошибка сервера 500 в соединении Java Servlet с JS с помощью вызова ajax - PullRequest
0 голосов
/ 25 января 2019

У меня есть следующий код в JS, который должен вызывать сервлет на сервере (не на моей локальной машине).Проект работает на сервере Apache Tomcat APP. Я получил код ошибки:

net :: ERR_ABORTED 500 (Внутренняя ошибка сервера)

var URL_SERVER = window.location.protocol
    + "//xx.xxx.xxx.xxx:xxx/TrackingTool/";

$(function() {

$("#testBtn").click(function() {

    $.ajax({
        url : URL_SERVER + "ServletTrackingTool",
        cache : false,
        type : "GET",
         contentType: "application/x-www-form-urlencoded",
        dataType: 'jsonp',
        crossDomain: true,

        success : function(ergebnis) {
            $(".result").empty();
            $.each(ergebnis, function(key, val) {

                console.log(val);

                var detail = "<h2>" + val.name + "</h2>";

                $(".result").append(detail);
            });

        }
    });

});

});

Если я вызываю сервлетс помощью url: / ServletTrackingTool с моего локального компьютера все работает нормально.

   protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String auswahl = request.getParameter("auswahl");
    String second = request.getParameter("second");

    System.out.println(auswahl);
    System.out.println(second);

    response.setContentType("application/json");
    response.setCharacterEncoding("UTF-8");
    response.addHeader("Access-Control-Allow-Origin", "*");
    response.addHeader("Access-Control-Allow-Credentials", "true");
    response.addHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, DELETE, HEAD");
    response.addHeader("Access-Control-Allow-Headers","origin, content-type, accept, authorization");
    response.addHeader("Access-Control-Max-Age", "1728000");

    PrintWriter zurueck = response.getWriter();

    // Enthält die Objekte
    List<Tracking> target = new ArrayList<Tracking>();

    Gson gson = new Gson();

    try {
        con = Datenbankverbindung();
        if (con != null) {
            System.out.println("Connected");
            cs = con.prepareCall("{call sp_testtabelle(?)}");
            cs.setString("Auswahl", "1");

            resultSet = cs.executeQuery();

            while (resultSet.next()) {
                Tracking neu = new Tracking();

                neu.setName(resultSet.getString("name"));

                target.add(neu);
            }

        }

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            resultSet.close();
            cs.clearBatch();
            cs.close();
            con.close();
            System.out.println("Connection close");
        } catch (SQLException e) {

            e.printStackTrace();
        }
    }

    String jsonFormatBack = gson.toJson(target);

    zurueck.print(jsonFormatBack);
}

наконец, файл журнала Tomcat:

GET /TrackingTool/trackingServlet/ServletTrackingTool HTTP/1.1" 404 1047
GET /TrackingTool/WEB-INF/classes/trackingServlet/ServletTrackingTool HTTP/1.1" 404 949
GET /TrackingTool/ServletTrackingTool HTTP/1.1" 500 1445
GET /TrackingTool/ServletTrackingTool?_=1548417258813 HTTP/1.1" 500 1445
GET /TrackingTool/ServletTrackingTool?_=1548417265044 HTTP/1.1" 500 1445
GET /TrackingTool/ServletTrackingTool?_=1548417598474 HTTP/1.1" 500 1445
...