私はEclipseで簡単なWebプロジェクトをやろうとしています。私の目標は、.jsp/html ファイルをプレゼンテーション層にし、JavaScript でロジックを処理し、Java でサーバー側のものを処理することです。私の単純なテストでは、JavaScript コードが Web サーバーに接続し、Java コードが日付を返すようにしたいだけです。これが私が今持っているものです(「トラブル」部分のみを表示していることに注意してください)
.jsp (Timer.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サーブレットから値を取得することです。
誰かが私を正しい方向に向けることができれば、それがリソースであろうと、あなたが何を持っていようと、それは素晴らしいことです. ありがとうございました!
編集:これが私が使用した最終的なコードです。何が間違っていたのかを何時間も把握しようとした後... HTMLを右クリックしてサーバー上で実行することについて、Eclipseには何も言及されていません。屈辱的なミスですが、二度と忘れることはありません。
単純な日付文字列を返すために使用したコードは次のとおりです。
.jsp (Timer.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");
}