我正在尝试在 eclipse 中做一个简单的 web 项目。我的目标是让 .jsp/html 文件成为表示层,用 javascript 处理逻辑,用 Java 处理服务器端的东西。对于我的简单测试,我只想让我的 JavaScript 代码能够联系 Web 服务器并让 Java 代码返回一个日期。这是我现在所拥有的(注意我只显示“麻烦”部分)
.jsp(定时器.jsp):
<div ><h2 id="date" class="main"></h2></div>
JavaScript (timer.js):
var xhr = new XMLHttpRequest();
document.getElementById("date").innerHTML = xhr.responseText;
xhr.open("GET", "CoopTimer", true);
xhr.send();
爪哇:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
request.setAttribute("date", dateFormat.format(date).toString());
request.getRequestDispatcher("/Timer.jsp").forward(request, response);
}
我确信 JavaScript 是错误的,可能是问题所在。所以本质上,我的目标是让标头 id“日期”从 javascript 中获取日期,而 javascript 将从 java servlet 中获取值。
如果有人能指出我正确的方向,无论是资源,你有什么,那就太棒了。谢谢!
编辑:这是我使用的最终代码。经过数小时试图找出问题所在...... eclipse 中没有提到右键单击 HTML 并在服务器上运行为。一个可耻的错误,但我永远不会忘记。
这是我用来返回简单日期字符串的代码:
.jsp(定时器.jsp):
<div ><h2 id="date" class="main"></h2></div>
Javascript (timer.js)
$("#date").load("http://127.0.0.1:14949/CoopTimer/CoopTimer");
爪哇:
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(date.toString());
//System.out.println("PING");
}