プロが教える店舗&オフィスのセキュリティ対策術

現在、tomcatでサーブレット/JSPの勉強をしています。

参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。
JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。

・ファイルの配置
basic
|-input
|...|-echo.jsp
|-WEB-INF
|...|-src
|......|-input
|.........|-EchoServlet.java
|...|-classes
|......|-input
|.........|-EchoServlet.class
|...|-web.xml

・echo.jsp内のサーブレットのパスに関する記述
<FORM ACTION="../servlet/input.EchoServlet">

・web.xmlの記述
<servlet>
<servlet-name>EchoServlet</servlet-name>
<servlet-class>input.EchoServlet</servlet-class>
</servlet>

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


tomcatの/confのinvokerのコメントは外していません。
過去の質問も調べてみて、上記の記述の辺りがおかしいのではないかと
思うのですが、、お気付きの点がありましたら教えて頂けないでしょうか。

A 回答 (2件)

<FORM ACTION="../servlet/input.EchoServlet">



<FORM ACTION="../servlet/EchoServlet">

じゃないでしょうか。クラス名ではなくURLパターンで指定する必要がありますから。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
おっしゃる通りにしたら404エラーはでなくなりました。
ですが、今度は

????? 500
?????? /basic/servlet/EchoServlet
????? class java.io.UnsupportedEncodingException
??????? Windows-31

の様なエラーが出てしまいました。
これはwindows-31Jのエンコーディングは使えないということでしょうか?

お礼日時:2007/09/06 17:07

>??????? Windows-31


このエラーが本当に出ているのだとしたら、
「Windows-31J」じゃなくて「Windows-31」になっているから、エラーになっているだけではないでしょうか。
もし、「Windows31-J」でもエラーになるのなら、「MS932」にしてみるとか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
おっしゃる通り、
EchoServlet.java内で文字コードを「Windows-31J」のところを
「Windows-31」としてしまっていたようです。

お二人のおかげで正しく動くようになりました。
ありがとうございました。

お礼日時:2007/09/12 12:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!