我正在尝试构建一个RESTful Web服务,我在其中创建了一个名为RESTFulWebServer的动态Web项目,其中包含基本的HTTP GET PUT POST请求。还有一个名为ClientProject的动态Web项目,它包含一个包含javascript的简单jsp页面。 ClientProject的javascript应该调用RESTFulWebServer的名为MyUserClass的java页面并在控制台中打印输出。
当我在Eclipse中运行这些项目时,它们就像一个魅力。调用完成后,MyUserClass的GET方法被完美地调用,并在控制台上显示输出(如期望的那样)
但是现在由于一些非常重要的原因我不得不转移到NetBeans,现在我已经在NetBeans中导入了我的项目并执行了它们,来自ClientProject的javascript的调用没有被发送到RESTFulWebServer&# 39; s java页面。最奇怪的是,当我运行RESTFulWebServer项目时,输出显示在控制台上。但是,当我运行ClientProject时,它应该在控制台(即输出窗口)上打印一行,但在这里它不会
为什么它可以在Eclipse中完美运行,但在NetBeans中却不能运行? (我也使用Tomcat服务器)
我被困住了。任何帮助或建议都将受到高度赞赏!
(同时附上以下项目代码:)
这是ClientProject的jsp页面,名为clientfile.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Update User</title>
<script>
function loadResponse()
{
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState === 4 && xmlhttp.status === 200)
{
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("DELETE","http://localhost:8080/app/user/service",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv">The response text would come here</div>
<button type ="button" onclick="loadResponse()">submit</button>
</body>
</html>
现在是RESTfulWebServer项目的MyUserClass.java代码
package com.service.user;
import javax.ws.rs.*;
@Path("/user/service")
public class UserServices {
@PUT
@Path("/create")
public void createUser()
{
System.out.println("Inside create user method");
}
@GET
public void getUser()
{
System.out.println("Inside get user method");
}
@POST
public void updateUser()
{
System.out.println("Inside update user method");
}
@DELETE
public void deleteUser()
{
System.out.println("Inside DELETE user method");
}
}