Javascript REST服务未注册表单数据

Javascript REST服务未注册表单数据,javascript,web-services,rest,Javascript,Web Services,Rest,我正在设计一个REST服务,允许学生登录并注册到一个网站,该网站将列出他们可以使用的课程,但我坚持让学生登录或注册。下面是我尝试甚至在firebug中获取控制台以检索学生时的标题响应。当我尝试注册时,我甚至没有收到响应头 GET http://localhost:8080/CP/CoursePlanner/Planner_Service/Students/rlstric1 /CP/ (line 16) //line 16 is xmlhttp.send(); HeadersCookies Req

我正在设计一个REST服务,允许学生登录并注册到一个网站,该网站将列出他们可以使用的课程,但我坚持让学生登录或注册。下面是我尝试甚至在firebug中获取控制台以检索学生时的标题响应。当我尝试注册时,我甚至没有收到响应头

GET http://localhost:8080/CP/CoursePlanner/Planner_Service/Students/rlstric1
/CP/ (line 16) //line 16 is xmlhttp.send();
HeadersCookies
Request Headers
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Type    applicaion/x-www-form-urlencoded
Cookie  __iswl_localhost:8080=0
Host    localhost:8080
Referer http://localhost:8080/CP/
User-Agent  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
Javascript

function getStudentByEmail(url) {
        var username = document.getElementById("studform").studentusername.value;
        url = url + username;
        var xmlhttp = new XMLHttpRequest();
        xmlhttp.open("GET", url, true)
        xmlhttp.setRequestHeader("Content-type", "applicaion/x-www-form-urlencoded");
        xmlhttp.send();
    }
HTML

这里是Facade方法

public Student getStudentByUsername(String username, String password)
    {
        Student stud = null;
        try
        {
            String x = password;
            ResultSet rs = null;
            PreparedStatement stmt = con.prepareStatement("SELECT password FROM Students WHERE password=?");
            stmt.setString(1, password);
            rs = stmt.executeQuery();
            if(rs.next())
            {
                password = rs.getString("password");
                if(!x.equalsIgnoreCase(password))
                {
                    return null;
                }
                else
                {
                    stmt = con.prepareStatement("SELECT Lastname, Firstname, Email, ID, Major, password FROM Students WHERE username=?");
                    stmt.setString(1,username);
                    rs = stmt.executeQuery();
                    if (rs.next()) {
                        String lname = rs.getString("Lastname");
                        String fname = rs.getString("Firstname");
                        String email = rs.getString("Email");
                        int ID = rs.getInt("ID");
                        String major = rs.getString("Major");
                        stud = new Student(lname, fname, email, ID, major, password);
                    }
                    return stud;
                }
            }
        }catch(SQLException e)
        {
            e.printStackTrace();
        }
        return stud;
    }

花了8个小时试图让学生在警报中出现();我甚至无法从数据库中获取这些信息,更不用说让某人注册了。

我发现,如果部署REST服务,我就无法刷新页面。从Eclipse部署之后,我必须手动停止并启动apache中已部署的包,然后它才能正常工作。由于某些原因,即使新部署的包处于活动状态,在部署后刷新页面也会导致引用错误。我确信这是新部署的软件包,因为我会在一段时间内更改字母

标签,它们将在刷新时更改


哦,我解决了我的问题。

为什么您的JAX-RS方法是静态的?
@Path("/Students/{username}")
    @GET
    @Produces("text/html")
    @Consumes("application/x-www-form-urlencoded")
    public static String loginStudentByUsername(@PathParam("{username}") String username)
    {
        PlannerFacade pf = new PlannerFacade();
        Student x = pf.getStudentByUsername(username, "test");
        return x.toString();
    }
public Student getStudentByUsername(String username, String password)
    {
        Student stud = null;
        try
        {
            String x = password;
            ResultSet rs = null;
            PreparedStatement stmt = con.prepareStatement("SELECT password FROM Students WHERE password=?");
            stmt.setString(1, password);
            rs = stmt.executeQuery();
            if(rs.next())
            {
                password = rs.getString("password");
                if(!x.equalsIgnoreCase(password))
                {
                    return null;
                }
                else
                {
                    stmt = con.prepareStatement("SELECT Lastname, Firstname, Email, ID, Major, password FROM Students WHERE username=?");
                    stmt.setString(1,username);
                    rs = stmt.executeQuery();
                    if (rs.next()) {
                        String lname = rs.getString("Lastname");
                        String fname = rs.getString("Firstname");
                        String email = rs.getString("Email");
                        int ID = rs.getInt("ID");
                        String major = rs.getString("Major");
                        stud = new Student(lname, fname, email, ID, major, password);
                    }
                    return stud;
                }
            }
        }catch(SQLException e)
        {
            e.printStackTrace();
        }
        return stud;
    }