- PR -

Tomcatでページが表示できないでnullと表示されます。

1
投稿者投稿内容
JAVA太郎
会議室デビュー日: 2004/02/07
投稿数: 4
投稿日時: 2004-02-07 01:06
はじめまして、このページはよく参考にさせていただいております。

今、資格の勉強をしていて、いきずまってしまいました。
本に書いてあるとおりに記述しているのですが、うまくいかないことがあります。
もしよろしければ、御意見をいただきたいと思います。

tomcatでブラウザに直接 URLを指定してhtmlファイルを表示させようとすると、
nullと表示されます。
コンソールに出力される表示もnullだけです。


開発環境は
Tomcat 4.1.18 
j2sdk1.4.1_01 です。


form1.htmlの設定内容は
<html><body>
<form action="http://localhost:8080/chapter01/Servlet" method="POST">
技術:<input type="text" name="searchstring" value="java">
<br><br>
都道府県:<select name="state" size="5" multiple>
<option value="HK">北海道</option>
<option value="TK">東京都</option>
<option value="KG">神奈川県</option>
<option value="OS">大阪府</option>
<option value="FO">福岡県</option>
</select>
<br><br>
<input type="submit" value="職種の種類">
</form>
</body></html>


web.xmlの設定内容は
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>


Servlet.javaの設定内容は
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Servlet extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse res)
                throws ServletException, IOException
{
String searchString = req.getParameter("searchstring");
System.out.println(searchString);

PrintWriter pw = res.getWriter();
pw.println("<html>");
pw.println("<head>");
pw.println("</head>");
pw.println("<body>");
pw.println(searchString);
pw.println("</body>");
pw.println("</html>");
}

public void doGet(HttpServletRequest req, HttpServletResponse res)
                throws ServletException, IOException
{
this.doPost(req, res);
}
}


ブラウザに入力するURLは
http://localhost:8080/chapter01/form1.htmlです。


※ サーブレットの内容は自分で少しアレンジを加えたので、意味のない内容になっております。

長々と大変あつかましいのですが、どうしても分らないので
どなたか手がかりだけでも教えていただけないでしょうか。
のぶ
会議室デビュー日: 2003/01/09
投稿数: 11
お住まい・勤務地: とちぎ
投稿日時: 2004-02-07 01:41
サーブレットのマッピングが悪そうですね。
引用:

<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>



これでは http://localhost:8080/chapter01/form1.html でも 
http://localhost:8080/chapter01/XXXX.AAA でもすべて
Servletクラスへ行ってしまいます。
正しくは

<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/Servlet</url-pattern>
</servlet-mapping>

ではないでしょうか。
JAVA太郎
会議室デビュー日: 2004/02/07
投稿数: 4
投稿日時: 2004-02-07 02:21

指摘を受けないと間違っている所が分らないのが、情けないです。
うまくいきましたけど、間違っていた部分をしっかり把握します。
本当にありがとうございました。
1

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