- PR -

サーブレットの実行画面につきまして。

1
投稿者投稿内容
be1300cc
ベテラン
会議室デビュー日: 2002/07/04
投稿数: 88
投稿日時: 2004-02-09 16:45
いつもお世話になっております。be1300ccです。
サーブレットについて、1点どうしても解決できない為、質問させて頂きます。

現在ある書籍のサンプルで学習しているのですが、本日学習している箇所に関して、
サーブレット実行時に、ブラウザ上にはステータスエラーは表示されないのですが、
ブラウザの画面に何も表示されない状態です。
他のサンプルを動かしてみたのですが、なぜか同じ状態です。
今日学習している箇所で、共通で何か設定が必要なのでしょうか?

取り敢えず、サンプルコード(対になったもの)を提示させて頂きます。
ご享受お願いします。

※アクセス方法
 http://localhost:8080/servbook/tests/servlet/SimpleInclude/aaa?bbb=ccc
******************************************************
SimpleInclude.java
******************************************************

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

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SimpleInclude extends HttpServlet {

public void doGet(HttpServletRequest req , HttpServletResponse res)
throws ServletException , IOException {

res.setContentType("text/html; charset=\"iso-2022-jp\"");
PrintWriter out = res.getWriter();

out.println("<html><head><title>");
out.println("挿入元ページのパス情報の参照");
out.println("</html></head><body><h3>");
out.println("挿入元ページのパス情報の参照");
out.println("</h3>");

ServletContext context = getServletConfig().getServletContext();
RequestDispatcher dispatcher = context.getRequestDispatcher(
"/servlet/ShowDispatcher/AAA?BBB=CCC");
dispatcher.include(req,res);

out.println("</body><html>");
out.close();
}
}
******************************************************
ShowDispatcher.java
******************************************************
import java.io.IOException;
import java.io.PrintWriter;

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

public class ShowDispatcher extends HttpServlet {
public void doGet(HttpServletRequest req , HttpServletResponse res)
throws ServletException , IOException {

res.setContentType("text/html; charset=\"iso-2022-jp\"");
PrintWriter out = res.getWriter();

out.println("<table>");
out.println("<tr><td>getRequestURI()</td><td>"+
req.getRequestURI() + "</td></tr>");
out.println("<tr><td>getContextPath()</td><td>"+
req.getContextPath() + "</td></tr>");
out.println("<tr><td>getServletPath()</td><td>"+
req.getServletPath() + "</td></tr>");
out.println("<tr><td>getPathInfo()</td><td>"+
req.getPathInfo() + "</td></tr>");
out.println("<tr><td>getQueryString()</td><td>"+
req.getQueryString() + "</td></tr>");

out.println("</table>");

out.println("<table>");
out.println("<tr><td>javax.servlet.include.request_uri</td><td>"+
req.getAttribute("javax.servlet.include.request_uri") + "</td></tr>");
out.println("<tr><td>javax.servlet.include.contextPath</td><td>"+
req.getAttribute("javax.servlet.include.contextPath") + "</td></tr>");
out.println("<tr><td>javax.servlet.include.servletPath</td><td>"+
req.getAttribute("javax.servlet.include.servletPath") + "</td></tr>");
out.println("<tr><td>javax.servlet.include.pathInfo</td><td>"+
req.getAttribute("javax.servlet.include.pathInfo") + "</td></tr>");
out.println("<tr><td>javax.servlet.include.querystring</td><td>"+
req.getAttribute("javax.servlet.include.querystring") + "</td></tr>");

}

}


[ メッセージ編集済み 編集者: be1300cc 編集日時 2004-02-09 16:51 ]
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2004-02-09 17:27
まず、こういう時には、「本当に出力されていないのか?」を見るのが先決です。
ソース表示を見てみましょう。

で、
コード:
out.println("<html><head><title>"); 
out.println("挿入元ページのパス情報の参照"); 
out.println("</html></head><body><h3>"); 
out.println("挿入元ページのパス情報の参照"); 
out.println("</h3>"); 


ものすごく悩んでしまったのですが、ここコピぺミスじゃないですよね?
(もしそうだとしたら、HTMLから勉強するべきかと)
be1300cc
ベテラン
会議室デビュー日: 2002/07/04
投稿数: 88
投稿日時: 2004-02-09 17:40
冬寂さん、初めまして。
アドバイスありがとうございました。

私もかなり悩んでしまったのですが、ご指摘の通り、HTMLのタグ指定の誤りでした。
これからは、ソース表示しながら、HTMLも間違っていないかどうか確認しながら、
学習していきます。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)