• 締切済み

サーブレットが実行できない

//初めてサーブレットを作成し、コンパイルまでは成功したがWebページでの実行が出来ません。尚 Tomcatをインストール、CLASSPATHの設定しTomcatも緑色に変わり表示されます。コードを記入しておきます。 import java.util.*; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Sample1a extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { try{ response.setContentType ("text/html; charset=Shift_JIS"); Date dt = new Date(); PrintWriter pw = response.getWriter(); pw.println("<html>\n" + "<head><titore>サンプル</title>\n" + "<body><center>\n" + "<h2>ようこそ</h2>" + "<hr />\n" + "今" + dt + "です。<br />\n" + "お選びください。<br />\n" + "br />\n" + "<a href=\"../car1.html\">乗用車</a><br />\n" + "<a href=\"../car2.html\">トラック</a><br />\n" + "<a href=\"../car3.html\">オープンカー</a><br />\n" + "</center></body>\n" + "</html>\n"); } catch(Exception e){ e.printStackTrace(); } } } //質問を上手く表現出来ず伝わるか心配ですが、ご指導をお願いします。

  • Java
  • 回答数9
  • ありがとう数12

みんなの回答

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.9

ん。 public class HelloServlet.java は public class HelloServlet ですね。 .javaは不要です。 これでコンパイルが通りました。

tamo367
質問者

お礼

fortranxp さん 本当にお世話になっています。 何時も気を留めてご返事を頂き有り難う御座います。 ようやく、サーブレットの実行が出来ました。 途中で挫折しようかと思ったもんですが fortranxp さんのお陰で此処まで出来るようになりました。 独学でソフトの勉強をしているが、インターネットの恩恵を感謝しています。 生け花のソフトを作りたく勉強中ですが・・・・。 ドラッグ&ドロップを使って、生け花を構築したいです。 知っておかなければならない基礎さえ模索状態です。 fortranxp さん本当に心より有り難うございました。  感謝 感謝

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.8

私の場合Tomcat4.1.31とTomcat5.0.28しか使ったこと がないのでその範囲でお答えします。 web.xmlは基本的に例えばこのようなディレクトリの時 YJKSample\WEB-INF\classes\なんとか.class このなんとか.classファイルを読み込もうとする時に その位置をTomcatに登録するものです。 従ってたとえばそれがwebdav.classだったならweb.xmlは <servlet>    <servlet-name>webdav</servlet-name>    <servlet-class>webdav</servlet-class> </servlet> <servlet-mapping>     <servlet-name>webdav</servlet-name>     <url-pattern>/webdav</url-pattern> </servlet-mapping> のようになっていると思います。

tamo367
質問者

お礼

fortranxpさん お世話になっています。 お蔭さんで、漸くTomcatの構造やjava ファイルのディレクトリへの配置の仕組みが判ってきました。 Tomcatのトップ画面の表示は成功しました。 javaファイルを次のように作りました。 mport java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet.java extends HttpServlet {                public void doGet( HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { PrintWriter out = response.getWriter(); out.println("Hello"); } } コンパイルするとHelloServletはpublicであり、HelloServlet javaで宣言しなければいけませんとエラー表示されます、エラー7個。修正してコンパイルすると、 java:5と java:15 に'}'がありませんと"エラー2"が出ます,何故でしょうか?。またまた宜しくお願いします。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.7

ではもう一度。 参照先は http://tomcat.apache.org/download-41.cgi このように表示されます。 Tomcat 4 Downloads We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 hours) may not yet be available from the mirrors. You are currently using http://www.meisei-u.ac.jp/mirror/apache/dist. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. Other mirrors: http://www.meisei-u.ac.jp/mirror/apache/disthttp://sunsite.tus.ac.jp/pub/apachehttp://ftp.kddilabs.jp/infosystems/apache ftp://ftp.kddilabs.jp/infosystems/apacheftp://ftp.meisei-u.ac.jp/pub/www/apache/distftp://sunsite.tus.ac.jp/pub/archives/www/apache http://www.apache.org/dist (backup)http://www.eu.apache.org/dist (backup) The KEYS link links to the code signing keys used to sign the product. The PGP link downloads the OpenPGP compatible signature from our main site. The MD5 link downloads the checksum from the main site. For more information concerning Tomcat 4, see the Tomcat 4 site. KEYS Binary 4.1.31 exe [md5] [pgp] 4.1.31 tar.gz [md5] [pgp] 4.1.31 zip [md5] [pgp] Source 4.1.31 tar.gz [md5] [pgp] 4.1.31 zip [md5] [pgp] browse download area archives... でBinaryの4.1.31 zipの部分をクリックして 保存したあと解凍してインストールします。 解凍できないときは4.1.31 exeをクリックして 保存したら それをダブルクリックすると 自己解凍します。

参考URL:
http://tomcat.apache.org/download-41.cgi
tamo367
質問者

お礼

fortranxp さんお世話になっています。 Apache TomcatとRunning all Apache Services のアイコンがお陰さまで表示されました。 Tomcat Manegerからサーバ情報には Tomcatバージョン:Apahe Tomcat5.5.12 JUMバージョン:1.5.0_b05 今回、サーブレット&JSP600の極意の本を購入し苦戦中ですが。 どうもweb.xmlの記述に問題があるみたいで、他の質問者の欄を読んでも理解できせん。 ディレクトリ構造はテキストの様にしたつもりですが? ¥WEB-INFの中に下記の様うにweb.xmlを記入しました。 <servlet-name>webdav</servlet-name> のwebdavはそのままで良いでしょうか。 削除、追加箇所箇所の指摘をお願いしたいです。 \Tomcat5.5のlocalhost内には host-manager.xmlとmana ger.xml がはいています。 本当にお手数ですがご教授お願いします。 (web.xml) コピーで記入しました。 <?xml version="1.0" encoding="ISO-8859-1" ?> - <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>Welcome to Tomcat</display-name> <description>Welcome to Tomcat</description> - <!-- JSPC servlet mappings start --> - <servlet> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <servlet-class>org.apache.jsp.index_jsp</servlet-class> </servlet> - <servlet-mapping> <servlet-name>org.apache.jsp.index_jsp</servlet-name> <url-pattern>/index.jsp</url-pattern> </servlet-mapping> </web-app>

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.6

>Aspache tomcat 4x ,The jakarta site-Tomcat Downloads こちらみたいです。 http://tomcat.apache.org/download-41.cgi

参考URL:
http://tomcat.apache.org/download-41.cgi
tamo367
質問者

お礼

fortranxp さん何時も有り難う! 未だに tomcat4 のダウロードが出来ません お手上げの状態です、超初心者でも判る方法を教えて頂けないものでしょうか。 

tamo367
質問者

補足

web.xmlの変更をしましたが (webサーバhttp//localhost:8080 は起動しています) 実行できません。変更後は <?xml version="1.0" encoding="ISO-8859-1" ?> - <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> - <servlet> <servlet-name>Sample011</servlet-name> <servlet-class>Sample011</servlet-class> </servlet> - <servlet-mapping> <servlet-name>Sample011</servlet-name> <url-pattern>/servlet/Sample011</url-pattern> </servlet-mapping> </web-app 購入した本を手に苦戦中です。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.5

>Tomcat/-wedapps/-webapps/+root/-YJKSample/-Web_INF(mybeans . web.xml) /-classes ディレクトリーはwebのとおりこのようにしたほうがイイのでは。 C:\tomcat\webapps\examples\WEB-INF\classes\examples

tamo367
質問者

お礼

色々なアドバイスを頂いているのに未だに出来ません。テキスト付録のCDからのwebサーバーの起動とディレクトリーの配置までは出来るがそれ以降が出来ません、又教えて頂いたサイトからのダウンロードを色々試しても出来ません、もし宜しければダウンロードの細かな手順を教えて頂ければ幸いです。 (The jakarta site-Apache Tomcatのサイト左側の「Download」をクリックしその後の「Aspache tomcat 4x ,The jakarta site-Tomcat Downloads のページの表示」が見当たらず先へ進みません。)

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.4

最初は大抵うまくいかないようです。 もう一度こちらを参考にして 同じものをやってみて動いたら 最初のソフトをやって見ましょう。 http://www.hellohiro.com/servlet.htm こちらも参考に。 http://www.nextindex.net/java/servlet/DocumentRoot.html

参考URL:
http://www.nextindex.net/java/servlet/DocumentRoot.html
tamo367
質問者

お礼

何時も有り難う御座います。 最初にお伝えすべきOSを記入しないためご迷惑をおかけしました、OSはWinndows XP Hom Edition です 上のサイトはOS 2000 でした。現在のファイルの配置状況は Tomcat/-wedapps/-webapps/+root/-YJKSample/-Web_INF(mybeans . web.xml) /-classes です、このような書き方でお判りできますでようか コンパイルは出来ました、Webサーバーは起動します。 サーブレットの実行が出来ません。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.3

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>Sample1a</servlet-name> <servlet-class>Sample1a</servlet-class> </servlet> <servlet-mapping> <servlet-name>Sample1a</servlet-name> <url-pattern>/Sample1a</url-pattern> </servlet-mapping> </web-app> これを私はTomcat4.1.31を\C以下に配置してますので C:\tomcat\web-apps\examples\WEB-INF\web.xmlにある web.xmlに付け加えました。 その欄の状態にあわせて<servlet></servlet>と <servlet-mapping></servlet-mapping>を別々に加えます。 次にSample1a.javaをC:\tomcat\webapps\examples\WEB-INF\classesに置いてコンパイルします。 tomcatをstartさせてhttp://localhost:8080/examples にアクセスしますとちゃんと作られたサーブレットが 表示されます。

tamo367
質問者

お礼

親切にご回答有り難うございます。しかし未だ成功していません。tomcat5.5 を参考書よりインストールしていました、tomcat4.1.31をfortranxpさんの初回のご回答のお勧めのサイトからダウンロールまでは出来たが、インストールが上手く出来ません、tomcat のbinのstartup.bat をダブルクリックで上手くいきません。初歩的な所で困っています、ダウンロード、インストールの方法をご教授願いたしす。 

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.2

こちらを参考に。 http://www.hellohiro.com/servlet.htm Tomcatは入門用にはTomcat4.1.31がいいです。

参考URL:
http://www.hellohiro.com/servlet.htm
tamo367
質問者

お礼

お礼の返事がおそくなり申し訳ありません。インターネットの Tomcat入門を読んで試したが やはり上手くいきません。Tomcatは起動できます。classpathは参考書のとうりに入力しました。web.xmlの配置はweb-infの下に置きました。又宜しくお願いします。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.1

web.xmlは?

tamo367
質問者

お礼

早速のご返事有り難う御座います。 web.xml はまだ配置していませんでした、早速、cドライブのTomcata5.5→webapps→YJKSample06 →wWEB-INF→(web.xml)→claddes→mybeans というように整理してみました。http://localhost:8080/YJKSample06/servlet/Sample1a にアクセスしたが使用できないとの表示が相変わらず出ます。web.xmlの意味がもう一つ理解していません、ただ貼り付けただけで良いのでしょうか?。 他力本願で申し訳ありません、宜しくお願いします。

関連するQ&A

  • eqlipseのサーブレットについて

    私は今、JSP/サーブレットについて勉強しています。 eqripceでサーブレットをやる上でサイトをみて導入をしました。 使用させていただいたサイトはこちらです。 http://www.javaroad.jp/opensource/js_eclipse6.htm 導入が終った後に以下の文を打ちました package kadai; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class Kadai_ado extends HttpServlet { public void doget(HttpServletRequest request, HttpServletResponse response) throws ServletException { try{ //コンテンツタイプの設定 response.setContentType ("text/html; charset=Shift_JIS"); //時刻の取得 Date dt = new Date(); //HTML文書の書き出し PrintWriter pw = response.getWriter(); pw.println("<html>\n" + "<head><title>サンプル</title></head>\n" + "<body><center>\n" + "<h2>ようこそ</h2>" + "<hr />\n" + "今"+dt+"です。<br />\n" + "お選び下さい。<br />\n" + "<br \n>" + "乗用車\n" + "トラック\n" + "オープンカー\n" + "</center></body>\n" + "</html>\n"); } catch(Exception e){ e.printStackTrace(); } } } 一応これは本に書いてある内容をほとんどそのまま写したのですが、これを実行すると HTTPステータス 405 - HTTPのGETメソッドは、このURLではサポートされていません。 と出てしまいます。調べて8080に接続できないのではないかと思ったんですがコマンドプロンプトでは 接続できたと結果が出ました。 他に原因があると思うのですがわかりません。どなたかわかりませんでしょうか。

    • ベストアンサー
    • Java
  • サーブレットについて

    こんにちは。 サーブレットに質問したいことがあります。 以下のサンプルソースで、 response.setContentType("text/html;charset=Shift_JIS"); の部分があるのですが、このようにすると日本語が文字化けしてしまいます。 ちなみにresponse.setContentType("text/html); とすると、日本語も文字化けせずに正しく表示されます。 ここで質問なのですが、 サーブレットの場合はJSPと違い、charsetを指定しなくてもよろしいのでしょうか? 何か分かることがありましたらご教授御願い致します。 ---------☆サンプルソース(HelloWorldExample.java)☆---------------- import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldExample extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html;charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>ハローワールド</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>HelloWorld ハローワールド</h1>"); out.println("</body>"); out.println("</html>"); out.close(); } } ---------------------------------------------------

    • ベストアンサー
    • Java
  • 【servlet】フォワードを使った画面遷移

    java,サーブレット初学者です。表題の通り、フォワード を使って画面遷移を試みています。 以下のコードを記述しリンクをクリックすると確かに画面遷移はできるのですが、 フォワードが出来ているならURLの最後が【/Test1】になるのではないかと考えました。 ですが実際は【/NewFile2】となっているため、フォワードが出来ていないのかと思います。 どの様にしたら前者のような結果になるでしょうか。 ご教授頂きたいです。 サーブレット↓ package sample; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/Test1") public class Test1 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher br = request.getRequestDispatcher("html/NewFile2.html"); br.forward(request, response); } } 遷移前の画面↓ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>テスト</title> </head> <body> <h2>sample</h2> <p>テストです</p> <a href ="/servlet_dayo/html/NewFile2.html">画面遷移する</a> </body> </html> 遷移先↓ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>テスト</title> </head> <body> <p>遷移先</p> </body> </html> サーバー:Tomcat8.5 os:macos を使用しています。どうぞよろしくお願いします。 ※OKWAVEより補足:「Webシステム開発」についての質問です。

    • ベストアンサー
    • Java
  • サーブレットをeclipseで作りたい

    ですが //////////////////////////////////////// package member; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; ・・・・・・・・・・・・・・・・・・・・・・・ //////////////////////////////////////// をeclipseのエディタに書くと import javax.servlet.*; と import javax.servlet.http.*; の javax.servlet の下に赤の波線がつきます。 どうも javax.servlet.*; と javax.servlet.http.*; を認識できないようです。 これらを認識できるようにするにはどうしたらいいのでしょうか?

    • ベストアンサー
    • Java
  • JAVAサーブレットプログラミングで質問

    Javaの開発環境: J2SDK、Tomcat3.3.1を使用しています。 ***プログラミング内容*** import java.io.*; import java.util.*; import java.text.*; import javax.servlet.*; import javax.servlet.http.*; public class MyDate extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException,ServletException{ response.setContentType("text/html; charset=SJIS"); Calendar cdr = Calendar.getInstance(); //現在の時間を取得 int year = cdr.get(Calendar.YEAR); //年(西暦) int month = cdr.get(Calendar.MONTH) + 1; //月 int date = cdr.get(Calendar.DATE); //日 int hour = cdr.get(Calendar.HOUR); //時間 int minute = cdr.get(Calendar.MINUTE); //分 int second = cdr.get(Calendar.SECOND); //秒 PrintWriter pw = response.getWriter(); pw.println("<html><body>今日は" + year + "年" + month + "月"+ date + "日(" + ★ + ")曜日です<br>\n" + "時間は" + hour + "時" + minute + "分" + second + 秒です</body></html>\n");}} といった内容で、取得したい値は日付と時間を取得するプログラミングなんですが、曜日の取得の方法を教えてもらえないでしょうか?取得した日付と時間の表示方法は、 日付: 2002年10月12日 時間: PM8時18分41秒です… といった感じを目指しています。

    • ベストアンサー
    • Java
  • 始めてのサーブレットでつまづいています。アドバイス下さい。

    【参考ファイル】 http://www.hellohiro.com/servlet.htm ----------------------------------------------------------- 【ソース HelloWorldServlet.java】 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorldServlet extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ContentTypeを設定 response.setContentType("text/html; charset=Shift_JIS"); // 出力用PrintWriterを取得 PrintWriter out = response.getWriter(); // 出力 out.println("<html>"); out.println("<head>"); out.println("<title>Hello World Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("Hello World"); out.println("</body>"); out.println("</html>"); } } ----------------------------------------------------------- 【バージョン】 [java] C:\j2sdk1.4.2_06 [Tomcat] C:\Program Files\Apache Software Foundation\Tomcat 5.5 ----------------------------------------------------------- 【環境変数】 [CLASSPATH] .;C:\Program Files\Java\j2re1.4.1_02\lib\ext\QTJava.zip [Path] C:\j2sdk1.4.2_06\bin;C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar ----------------------------------------------------------- 【エラー内容】 C:\Program Files\Apache Group\Apache2\htdocs\java\hello>javac HelloWorldServlet. java HelloWorldServlet.java:2: パッケージ javax.servlet は存在しません。 import javax.servlet.*; ^ HelloWorldServlet.java:3: パッケージ javax.servlet.http は存在しません。 import javax.servlet.http.*; ^ HelloWorldServlet.java:5: シンボルを解決できません。 シンボル: クラス HttpServlet 場所 : HelloWorldServlet の クラス public class HelloWorldServlet extends HttpServlet { ^ HelloWorldServlet.java:6: シンボルを解決できません。 シンボル: クラス HttpServletRequest 場所 : HelloWorldServlet の クラス public void service(HttpServletRequest request, ^ HelloWorldServlet.java:7: シンボルを解決できません。 シンボル: クラス HttpServletResponse 場所 : HelloWorldServlet の クラス HttpServletResponse response) ^ HelloWorldServlet.java:8: シンボルを解決できません。 シンボル: クラス ServletException 場所 : HelloWorldServlet の クラス throws ServletException, IOException { ^ エラー 6 個 C:\Program Files\Apache Group\Apache2\htdocs\java\hello>

    • ベストアンサー
    • Java
  • サーブレットについて

    WIN2000 j2sdk1.4.1_06 Tomcat 4.1.24です。 よろしくお願いします。 困っているのは、はサーブレットが動かないということです。 コンパイルすると C:\j2sdk1.4.1_06\bin>javac Hello.java パッケージ javax.servlet は存在しません。 import javax.servlet.*; というエラーになります。 j2sdkとトムキャットをインストールし、 PATH等の設定も行い Tomcatの起動も行なってからやっているのですが、 JSPはちゃんと表示してくれるのですが、 サーブレットだけ動きません。 APIを見ると確かに標準のものには載っておらず サーブレットの方に載っているようなのですが、 何か他に設定もしくは、インストールする必要が あるのでしょうか?

    • ベストアンサー
    • Java
  • サーブレット-エラー(404)

    書籍にあるサンプルを自分のEclipse3.5の環境にて実行させているのですが、書籍の通りに行ってはいるのですが、表題のようなエラー画面になってしまい悩んでおります。以下の記述をしているので何か間違いがありましたらご指摘をよろしくお願い致します。 ※他に類似の質問がありましたが、理解に苦しみ解決できませんでした。 ■パッケージエクスプローラー TEST LWEB-INF/src   Lcom.gokui   |  LSample026.java   Lwork   L参照ライブラリー   |  Lservlet-api.jar   |  Ljasper.jar   |  Ljsp-api.jar   |  Lel-api.jar   |  Lannotations-api.jar   Lbin   Lsrc   LWEB-INF   |  Llib   |  Lweb.xml   Lindex.html ■web.xmlの記述 <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_2_5.xsd"  version="2.5">     <servlet>          <servlet-name>Sample026</servlet-name>          <servlet-class>com.gokui.Sample026</servlet-class>          <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>          <servlet-name>Sample026</servlet-name>          <url-pattern>/Sample026</url-pattern>     </servlet-mapping>     <welcome-file-list>          <welcome-file>/index.html</welcome-file>          </welcome-file-list> </web-app> ■index.htmlの記述 <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"> <title>Sample026</title> </head> <body> <form method="POST" action="./com.gokui/Sample026"> お名前: <input type="text" name="person" size="20"> <input type="submit" value="OK" > </form> </body> </html> ■Sample026.javaの記述 package com.gokui; 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 Sample026 extends HttpServlet {     private static final long serialVersionUID = 1L;     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {          //エンコード指定          request.setCharacterEncoding("JISAutoDetect");          //パラメータ取得          String person = request.getParameter("person");          //出力          response.setContentType("text/html;charset=Shift_JIS");          PrintWriter out = response.getWriter();          out.println("<html><head><title>サンプル026</title></head><body>");          out.println(person + "さん、ようこそ!");          out.println("</body></html>");          out.close();     } } 未熟の為、分からぬことばかりなのですが何卒宜しくお願い致します。

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/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> ■EchoServlet.javaの記述 package input; 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 EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。

  • サーブレットのログ出力先

    javaを勉強し始めて1ヶ月にも満たない初心者ですが助言を頂けないでしょうか? また、見当違いの事を質問しているかもしれませんが、その場合は指摘下さい。 現在、下記環境にて簡単なサーブレットを作成しています。 ・OS:WindowsXP ・JDK:1.6.0_24 ・Tomcat:7.0.8 ・HelloWorldServlet.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class helloWorldServlet extends HttpServlet { public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = response.getWriter(); out.println("<html><body>"); out.println("Hello World!!"); out.println("</body></html>"); log("HelloWorldServlet"); } } サーブレットが正常動作する事をログ上でも確認できればと思い、 logメソッドを使用してログの出力をしました。 ログはTomcatのルート配下にある[logs]というフォルダ内に、 [localhost.yyyy-mm-dd.log] というファイルが作成され、その中に記述されているところまでは確認できました。 できればアプリケーション毎に作成されるファイル名や作成されるファイルの保存場所を 明示的に指定したいと思うのですが、そうするにはどうしたら宜しいでしょうか?

    • ベストアンサー
    • Java

専門家に質問してみよう