ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュのServlet_HelloWorld表示方法について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
お世話になります。
java暦数ヶ月のものです。

現在、Java勉強の為サーブレットに取り組んでおります。
参考サイトや参考書を使っているのですがうまく表示ができません。
表示テスト用として、下記のhelloworld2直下にindex2.htmlファイルを置いてURLより叩いたのですがこれでも表示されません。
(※前回やっていた場合は、表示ができておりその際に作ったファイルは、表示ができています)
【開発環境】
Eclipseにて、classファイル化して所定のフォルダに格納

【環境】
・サーブレット
C:\servlet-sample\helloworld2\
 画像ファイル:imgフォルダ内
 html:index.html 
WEB-INF:classesフォルダ内にHelloWorld2.class
     web.xml
・Tomucat7.0
・・・conf\Catalina\localhostフォルダ内:hello2.xml

【ファイル内容】
・Java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld2 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{

response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}

・コンテキストxmlファイル
<Context path="/hello2"
docBase="C:\servlet-sample\helloworld2"/>

・web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
http://www.apache.org/licenses/LICENSE-2.0

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<servlet>
<servlet-name>helloworld2</servlet-name>
<servlet-class>HelloWorld2</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
<servlet-name>Sample1</servlet-name>
<servlet-class>Sample1</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>

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

<!-- The mappings for the JSP servlet -->
<servlet-mapping>
<servlet-name>Sample1</servlet-name>
<url-pattern>/Sample1</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>

<session-config>
<session-timeout>30</session-timeout>
</session-config>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

</web-app>

【参考サイト】
http://www.javadrive.jp/servlet/

【エラーメッセージ】
HTTPステータス404 
The requested resource (/hello2/index2.html) is not available.

参照先がないという意味だと思うのですがなぜこのようなメッセージが表示され、正常に稼動しないのかが不明です。
表示が出来ていたファイルに近づけてやっておりますが・・・

ご教示の程、よろしくお願い致します。

コメント(15)

トムキャットをちゃんと起動できてる?
あと、URLはどうたたいた?

ページ自体が見つかってないから、たぶんソース以前の問題だと思う。
トムキャットは、起動されておいます。
http://localhost:8080でトムキャットのサイトが表示されている状態です。

URL:http://localhost:8080/hello2/helloworld2
htmlを直接(http://localhost:8080/hello2/index2.html)指定してもだめでした。
掲載されたコードで、<web-app>開始タグが抜けてます。
web.xmlのタグにエラーがあると、404になると思います。


上記の件、ココへ書く際の単なるコピペミスで、動作確認してるほうにはタグ入ってたら別の原因ですが…
web-app xmlns="http・・・・の箇所でしょうか?

当ファイルは、動いていたファイルをコピーしてservlet-name、servlet-clssとmappingだけ変更している状態です。
(helloworld→helloworld2と、末尾に2をつけた状態)

OSは、windows7を使用しております。
あ、すいません。<web-app>ありますね。

掲載内容で試してみたところ、
私の環境(Pleiades3.7でTomcat7)だと、掲載のものコピペで動きました。
ただし、URLは『http://localhost:8080/hello2/helloworld2』のほうです。

index2.htmlは、内容の掲載が無かったので試していません。

気になるのは
【開発環境】のところに、
「Eclipseにて、classファイル化して所定のフォルダに格納」
とあるんですが、その下の【環境】というところを見ると、
Eclipse使って実行していないのではないかと…思ったんですが…
そうすると、コード類の問題ではなくて、デプロイ失敗の可能性もあります。
2通りのやり方で試しているのですが
一つは、記載している内容でjavaファイルをclassファイル化する為にEclipseを使っております。(コマンドプロントでclassファイル化するのを避ける為)
なのでおっしゃる通りEclipse上では、実行しておりません。
理想のやり方とは、いえないでしょうが^^;

2つ目のやり方としては、Eclipse上にサーブレットのプロジェクト?を作成しているのですがこちらも同じように記載されているエラーが出ており実行できておりません。

しきやさんのおっしゃるデプロイ?、というのを少し調べてみようと思います。
Tomcatをアンインストールし、再度インストールし参考サイトのように始めから沿ってやりましたがだめでした。

OSは、特に関係ないですよね?
ディレクトリ、ファイルはどこに置いていますか?
どういう構成になっているか詳しく書いてみてください。
コマンドプロンプトで
cd C:\servlet-sample\helloworld2\
tree /F
と打ってディレクトリ構成を見せたほうが
早そうですね。
C:.
│ index.BAK・・・・勝手に作られた
│ index.html・・・・『http://localhost:8080/hello2/index.htmlで動作するかテスト

├─img
│ p1.png

└─WEB-INF
│ web.xml

└─classes
HelloWorld2.class

サーバー側(conf内)
C:.
│ catalina.policy
│ catalina.properties
│ context.xml
│ logging.properties
│ server.xml
│ tomcat-users.xml
│ web.xml

└─Catalina
└─localhost
hello2.xml

となっております。
http://localhost:8080/hello2/でindex.htmlは見れるんですか?
見れないです。

http://localhost:8080/hello2/helloworld2
http://localhost:8080/hello2
http://localhost:8080/hello2/index.html
で試しましたが見れていません。

Tomcat入れなおしたんですが変わらずです
hello2.xmlの内容はどうなっていますか?
<Context path="/hello2"
docBase="C:\servlet-sample\helloworld2"/>

になっています。
サーブレットのパスは、C:\servlet-sample\helloworld2です。
web.xmlファイルの中身は、質問内容の通りです。

コンテキストは、問題ないと思いますし何がなんだか^^;

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング