質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

8137閲覧

HTMLのリンクからサーブレットへ移動できません。どうすれば良いでしょうか?

jason

総合スコア15

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/02/25 17:33

編集2018/02/28 15:28

top.htmlの「月一覧表の表示」リンクをクリックしてサーブレットであるMonthView1.javaへ飛ばしたいのですが、いろいろ試してみましたが下イメージのようになって上手くいきません。top.htmlのリンクパスがまずいのでしょうか?それともxmlファイルに原因があるのでしょうか?イメージ説明

現在作成しているプロジェクトはスケジュール管理作成にあるものを真似していますが2番目のカレンダー表示の部分で悩んでいます。


プロジェクトエクスプローラーの配置です。
イメージ説明)

top.htmlファイルです。

"http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <title>スケジュール管理</title> </head> <body> <h1>スケジュール管理</h1> <p><a href="/suchedule/MonthView">月一覧表の表示</a></p> </body> </html>

イメージ説明

web.xmlファイルです。

<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>MonthView</servlet-name> <servlet-class>MonthView1</servlet-class> </servlet> <servlet-mapping> <servlet-name>MonthView</servlet-name> <url-pattern>/MonthView</url-pattern> </servlet-mapping> </web-app>

MonthView1.java

package

1 2import java.io.IOException; 3import java.io.PrintWriter; 4 5import javax.servlet.ServletException; 6import javax.servlet.http.HttpServlet; 7import javax.servlet.http.HttpServletRequest; 8import javax.servlet.http.HttpServletResponse; 9 10public class MonthView1 extends HttpServlet{ 11 12 public void doGet(HttpServletRequest req, HttpServletResponse res) 13 throws ServletException, IOException{ 14 15 res.setContentType("text/html;charset=Shift_Jis"); 16 PrintWriter out = res.getWriter(); 17 18 StringBuffer sb = new StringBuffer(); 19 20 sb.append("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"); 21 22 sb.append("<html lang=\"ja\">"); 23 sb.append("<head>"); 24 sb.append("<meta http-equiv=\"Content-Type\" Content=\"text/html;charset=Shift_JIS\">"); 25 26 sb.append("<title>スケジュール管理</title>"); 27 28 sb.append("<style>"); 29 sb.append("table{border:1px solid #a9a9a9;width:90%;padding:0px;margin:0px;border-collapse:collapse;}"); 30 sb.append("td{width:12%;border-top:1px solid #a9a9a9;border-left:1px solid #a9a9a9;vertical-align:top;margin:0px;padding:2px;}"); 31 sb.append("td.week{background-color:#f0f8ff;text-align:center;}"); 32 sb.append("td.day{background-color:#f5f5f5;text-align:right;font-size:0.75em;}"); 33 sb.append("td.otherday{background-color:#f5f5f5;color:#d3d3d3;text-align:right;font-size:0.75em;}"); 34 sb.append("td.sche{background-color:#fffffff;text-align:left;height:80px;}"); 35 sb.append("img{border:0px;}"); 36 sb.append("p{font-size:0.75em;}"); 37 sb.append("</style>"); 38 39 sb.append("</head>"); 40 sb.append("<body>"); 41 42 sb.append("<p>2006年11月</p>"); 43 44 sb.append("<table>"); 45 46 sb.append("<tr><td class=\"week\">日</td><td class=\"week\">月</td><td class=\"week\">火</td><td class=\"week\">水</td><td class=\"week\">木</td><td class=\"week\">金</td><td class=\"week\">土</td></tr>"); 47 48 sb.append("<tr><td class=\"otherday\">29</td><td class=\"otherday\">30</td><td class=\"otherday\">31</td><td class=\"day\">1</td><td class=\"day\">2</td><td class=\"day\">3</td><td class=\"day\">4</td></tr>"); 49 sb.append(createScheduleStr()); 50 51 sb.append("<tr><td class=\"day\">5</td><td class=\"day\">6</td><td class=\"day\">7</td><td class=\"day\">8</td><td class=\"day\">9</td><td class=\"day\">10</td><td class=\"day\">11</td></tr>"); 52 sb.append(createScheduleStr()); 53 54 sb.append("<tr><td class=\"day\">12</td><td class=\"day\">13</td><td class=\"day\">14</td><td class=\"day\">15</td><td class=\"day\">16</td><td class=\"day\">17</td><td class=\"day\">18</td></tr>"); 55 sb.append(createScheduleStr()); 56 57 sb.append("<tr><td class=\"day\">19</td><td class=\"day\">20</td><td class=\"day\">21</td><td class=\"day\">22</td><td class=\"day\">23</td><td class=\"day\">24</td><td class=\"day\">25</td></tr>"); 58 sb.append(createScheduleStr()); 59 60 sb.append("<tr><td class=\"day\">26</td><td class=\"day\">27</td><td class=\"day\">28</td><td class=\"day\">29</td><td class=\"day\">30</td><td class=\"otherday\">1</td><td class=\"otherday\">2</td></tr>"); 61 sb.append(createScheduleStr()); 62 63 sb.append("</table>"); 64 65 sb.append("</body>"); 66 sb.append("</html>"); 67 68 out.println(new String(sb)); 69 } 70 71 protected String createScheduleStr(){ 72 StringBuffer sb = new StringBuffer(); 73 74 sb.append("<tr>"); 75 for (int i = 0 ; i < 7 ; i++){ 76 sb.append("<td class=\"sche\"><img src=\"./img/memo.png\" width=\"14\" height=\"16\"></td>"); 77 } 78 sb.append("</tr>"); 79 80 return (new String(sb)); 81 } 82}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

xml

1 <servlet> 2 <servlet-name>MonthView</servlet-name> 3 <servlet-class>su.MonthView1</servlet-class> 4 </servlet> 5 6 <servlet-mapping> 7 <servlet-name>MonthView</servlet-name> 8 <url-pattern>/suchedule/MonthView</url-pattern> 9 </servlet-mapping>

ではないですかね。

web.xmlの設定方法をきちんと調べた方が良いでしょうか。

投稿2018/02/28 07:27

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jason

2018/02/28 08:30

回答してくださりましてありがとうございました。 お指摘の箇所を変更してみましたがページ移動ができず ステータス404NotFoundエラーが出ます。 もう一度、web.xmlの設定方法を調べまくってみますね。
A-pZ

2018/02/28 10:15

top.htmlのURLも /suchedule/MonthView で遷移するURLがあっているかも確認したほうが良いでしょう。よくあるのは、コンテキストパスがなくなり、localhost:8080/suchedule/MonthView を表示しようとしている、などです。
jason

2018/02/28 12:32

返答して頂きましてありがとうございます。 そのよくあるlocalhost:8080/suchedule/MonthView を表示しようとしている状態みたいです。 top.htmlのURLが間違っているということですよね? その部分も結構いじりましたが頭が悪すぎて問題解決には至りませんでした。
guest

0

ベストアンサー

問題の一つは
web.xml の servlet-classですね
ここは FQCN を設定する場所ですが対応するクラスがありません。
FQCNで正しく設定しましょう

投稿2018/02/25 23:37

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jason

2018/02/26 09:25

回答していただきましてありがとうございました。 お指摘された箇所を合ってるかどうか分りませんが下記の記述でやってみましたが、問題解消には至りませんでした。 <servlet-class>su.MonthView1</servlet-class> 問題だらけってことですかね?泣
退会済みユーザー

退会済みユーザー

2018/02/28 12:28

TOMCAT は 正常に CONTEXTを起動できている?
jason

2018/02/28 13:44

ですがブラウザ上ではアクセスできるのでやってるのかな?
退会済みユーザー

退会済みユーザー

2018/02/28 13:56

デプロイメント 記述子を開いて設定したサーブレットが設定されてるか見てみて(なんかweb.xml の位置がでてないのがすごく気になる)
jason

2018/02/28 14:40

返答大変ありがたいです。 配置場所でしょうか? web.xmlはWEB-INFのlibの中に置いてあります。
退会済みユーザー

退会済みユーザー

2018/02/28 14:42

それだ・・・・ WEB-INF/web.xml だからね設置場所
jason

2018/02/28 15:06

設置場所を変更して再度試してみましたが404エラーになってしまいました。 ごめんなさい。
退会済みユーザー

退会済みユーザー

2018/02/28 15:10

デプロイメント 記述子を開いて~の返答は?
jason

2018/02/28 15:14

すいません。記述子を開いてサーブレットが設定されているのを見るの やり方が分からなくて.....
jason

2018/02/28 15:19

それっぽいものを開いてみました。 画像を貼ります 違っていたらすいません。
退会済みユーザー

退会済みユーザー

2018/02/28 15:19

デプロイメント記述子~の折り畳みを開いたらどうみてもサーブレットとサーブレットマッピングが書いてあるんだけど。。。。 画面表示されてるものが見えないならスクールかなにかで学んだ方がいいかもしれないな
jason

2018/02/28 15:32 編集

すいません。普通に下のコード(現在の)のことでしょうか? <servlet> <servlet-name>MonthView</servlet-name> <servlet-class>su.MonthView1</servlet-class> </servlet> <servlet-mapping> <servlet-name>MonthView</servlet-name> <url-pattern>/suchedule/MonthView</url-pattern> </servlet-mapping> それとも追加した図のことでしょうか?
退会済みユーザー

退会済みユーザー

2018/02/28 15:36

デプロイメント記述子 Schedule ← ここを開いてその下のサーブレットも開く JAX-WS Webサービス Java リソース └src
jason

2018/02/28 15:42

デプロメント記述子 scheduleを開いてみると下記のコードが記述されていました。 <?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>MonthView</servlet-name> <servlet-class>su.MonthView1</servlet-class> </servlet> <servlet-mapping> <servlet-name>MonthView</servlet-name> <url-pattern>/suchedule/MonthView</url-pattern> </servlet-mapping> </web-app> サーブレットを開くとはMonthView1を開くことでしょうか?
退会済みユーザー

退会済みユーザー

2018/02/28 15:45

A-pZ さんの指摘を削除してください。
jason

2018/02/28 15:48

なりました!!!!!
jason

2018/02/28 15:53

/sucheduleを削除してみたらやっとサーブレットに飛んでくれました。 こんな夜遅くまで私のようなバカで初心者に構って頂きまして本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問