-1

サーブレットtext.javaがhtmlコンテンツをjspページindex.jspに返すとします。

index.jsp

<button onclick="location.href='text'">CLICK</button>

text.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
     out.println("<b>HELLO</b>");
    } finally { 
        out.close();
    }
} 

ここで、サーブレットがWebブラウザーの要求に応答すると言います。ボタンをクリックした後、jspページの代わりにURLにサーブレットの名前があり、コントロールがjspページに戻されないのはなぜですか。

それはajax(formelement.innerHTML = ob.responseText())でのみ可能ですか?//ここでvarob= new XMLHttpRequest();

4

3 に答える 3

4

あなたはこのように進むことができます...

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    String str = "<b>heloo</b>";
    request.setAttribute("result", str);
    request.getRequestDispatcher("/index.jsp").forward(request, response);
}

jspでは、次のようにして結果を取得します。

request.getAttribute("result");
于 2012-08-04T09:37:16.527 に答える
2

JSPは、テンプレートとして記述されたサーブレットです。サーブレットはサーバー側であり、通常は相互に呼び出しません。これは、JavaファイルではなくURLへのリンクを公開するWebページです(jspを介して生成されたかどうかは関係ありません)。リンクがクリックされると、ブラウザはリンクのURLを求めるリクエストをサーバーに送信します。したがって、サーバーでは、このURL(定義するのはユーザー次第)をServlet、要求を処理して応答を生成するクラスにマップする必要があります。このURLからサーブレットへのマッピングweb.xmlは、WARのファイルで構成されています。

于 2012-08-04T09:44:20.713 に答える
0

web.xmlでサーブレットをマップする方法を確認し、基本的なサーブレットのチュートリアルを検索する必要があります。

text.javaのようなリンクを指定して、text.javaサーブレットを起動することを期待することはできません。URLをサーブレットクラスにマップする必要があります

于 2012-08-04T09:33:09.563 に答える