(如果我弄乱了问题的格式,请先致歉,这是我的第一篇Stackoverflow帖子。) 我试图让我的客户向服务器发送请求,以获取具有特定ID的人的信息。客户端将GET请求发送到http://localhost:8080/helloWorld/rest/login/ {ID}。据我所知,它确实将其发送,但是服务器第一次发送回500错误,此后每次发送404错误。
我已经检查了url是否正确,是否正确发出并发送了请求,我的Java程序是否将请求定向到正确的方法,以及该方法是否正确地将信息发送回去,并且一切都应该正常工作。我还让其他几个人检查了我的代码,没有人看到任何问题。 这是我分别为JavaScript函数和Java方法编写的代码:
function loginPerson() {
var fullId = document.getElementById("idInput").value;
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "http://localhost:8080/helloWorld/rest/login/" + fullId, true);
xhttp.onreadystatechange = function() {
if(this.readyState === 4 && this.status === 200) {
console.log(this.statusText);
setPerson(this.statusText);
window.location.href = "index.jsp";
}
};
xhttp.send();
console.log("request sent to http://localhost:8080/helloWorld/rest/login/" + fullId);
}
@Path("/login")
public class LoginResource {
@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Person getPersonalInfo(@PathParam("id") int id) {
return new Person(id);
}
}
当我按下某个按钮时,将调用JavaScript函数,并且可以从id为idInput的输入字段中正确检索id。第一次发送请求时,我的Tomcat Localhost日志中也出现错误,但未指定错误。如果有关系,Person构造函数将使用id从数据库检索信息,并且Person类已正确指定为XmlRootElement。
答案 0 :(得分:0)
我发现了问题所在。显然我只是在pom.xml文件中缺少以下依赖项。
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>2.22.2</version>
</dependency>