0

単純なサーブレットをテストするために、Ubuntu12.04で実行されているEclipseEEJunoを使用します。したがって、Eclipseで次のコマンドを使用してWebキットをインストールしました

sudo apt-get install libwebkitgtk-1.0-0

サーブレットを実行しているとき、内部ブラウ​​ザにサーブレットで使用したhtmlタグが表示されます。このように(この問題はFirefoxでは発生しません)

<h3>Hello from servlet!!!</h3>

これがサーブレットのコードです

package org.javaweb;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class SimpleServlet
*/
@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter printWriter = response.getWriter();
    printWriter.println("<h3>Hello from servlet!!!</h3>");
}

}

エラーはどこにありますか?これを修正する方法は??

ありがとうございました!

4

2 に答える 2

2

content-typeをHTMLに設定してみてください。

response.setContentType("text/html");

Eclipseの組み込みブラウザは、HTMLコンテンツを常に待機しているわけではありませんが、Firefoxやその他の一般的なブラウザは、指定されていない場合は常にコンテンツタイプを入力します。

于 2012-11-12T10:46:06.690 に答える
2

正しい応答タイプをtext/htmlとして言及する必要があると思います。のように、これを既存のコードに追加すると、正常に機能するはずです。

            response.setContentType("text/html;charset=UTF-8");

FirefoxまたはWebブラウザーは一般に、HTMLコンテンツであるかどうかを推測し、Eclipseの内部ブラウ​​ザーと比較して正しくレンダリングするのに十分なインテリジェント性を備えています。

于 2012-11-12T10:44:17.507 に答える