将ajax post请求发送到servlet

时间:2017-04-30 10:37:40

标签: java jquery ajax servlets tomcat7

我无法向servlet发送一个简单的请求到jQuery工具。但与此同时,如果我通过表格,那么一切都在努力。这是index.html,我想从中发送用户的登录信息。 Login.js,我在其中构成了请求本身,SerletStore.java本身就是servlet。以及整个项目的结构。

login.js

$(document).ready( function(){
    $("#login-submit").click(function(){
        var data = {
            username: $("#user").prop("value")
        }

        $.ajax({
            method: "POST",
            url: "http://localhost:8080/ChallengeClient/store",
            data: {
                username: $("#user").prop("value")
            },
            success: function(data) {
                alert('Success');
            },
            error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        }).done(function() {
            alert('Success');
        });
    });
});

的index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Login Form</title>
    <link rel="stylesheet" href="css/login.css">
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,700">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script src="js/login.js"></script>
</head>
<body>
    <div id="login">
        <form name="form-login">
            <span class="fontawesome-user"></span>
            <input type="text" id="user" name="username" placeholder="Имя пользователя">
            <span class="fontawesome-lock"></span>
            <input type="password" id="pass" placeholder="Пароль">
            <input type="submit" id="login-submit" value="Вход">
        </form>
    </div>
</body>
</html>

ServletStore.java

package servlet;

import server.service.HelloWebService;
import server.service.HelloWebServiceImplService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name="store", urlPatterns = "/store")
public class ServletStore extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {

        // подключаемся к тегу service в wsdl описании
        HelloWebServiceImplService helloService = new HelloWebServiceImplService();
        // получив информацию из тега service подключаемся к самому веб-сервису
        HelloWebService hello = helloService.getHelloWebServiceImplPort();

        // обращаемся к веб-сервису и выводим результат в консоль
        /*String error = hello.getHelloString("!! Challenge !!");*/

        String error = "";
        String username = (String) req.getParameter("username");
        if (username.equals("")) {
            error = "Не было введено имя пользователя";
        }
        req.setAttribute("error", "Не было введено имя пользователя");
        req.getRequestDispatcher("jsp/loginError.jsp").forward(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

Структура проекта

0 个答案:

没有答案