1

私は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");
    }
4

2 に答える 2

0

jquery を使用して、非常に単純な ajax 呼び出しを行います。ここにJavaScriptコードスニペットがあります

function pullResultFromServlet() {
  var url = 'servletURL';
  $.ajax({
    url: url,
    dataType: 'json',
    data:{
      "dateValue: $('#date').val(),
    },
    type: 'POST',
    success: function(responseFromServlet) {
      // further processing
      }


    },
    error: function(jqXHR, textStatus, errorThrown) {
    }
  });
}
于 2013-04-05T15:01:46.650 に答える