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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

servlet

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

Q&A

解決済

4回答

9474閲覧

なぜjsp3.jsp からjsp4.jspへのリンクを実行してもこのような404エラーが出てしまうのでしょうか? どうぞよろしくお願いします。

edoooooo

総合スコア476

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

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

servlet

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

0グッド

0クリップ

投稿2016/04/12 14:50

なぜjsp3.jsp からjsp4.jspへのリンクを実行してもこのような404エラーが出てしまうのでしょうか? どうぞよろしくお願いします。
色々とコードの(jsp4.jsp)指定名を変更してみたのですが、404となります
jsp3 jsp4はともに、Webcontent/WEB-INF/jsp/の下に置いています。

java

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4<html> 5<head> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7<title>とりあえずここまで</title> 8</head> 9<body> 10<h2>このデータをリダイレクトの前のところでuser名利用してgetNameする</h2> 11<h4>そのためにaccount,modelクラスを作り,importもする?</h4> 12<a href="/jsp/jsp4.jsp">最後の画面にurl?を使っていく</a> 13</body> 14</html>

java

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4<html> 5<head> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7<title>一応最後</title> 8</head> 9<body> 10<h1></h1> 11</body> 12</html>

java

1HTTP Status 404 - /jsp/jsp4.jsp 2 3type Status report 4 5message /jsp/jsp4.jsp 6 7description The requested resource is not available. 8 9Apache Tomcat/7.0.65

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

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

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

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

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

argius

2016/04/12 15:15

jsp3.jspはどうやって開いていますか?
edoooooo

2016/04/13 06:34

遅くなり申し訳ありません, servlet3というservletでフォワードしています。 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dispatcher=request.getRequestDispatcher("WEB-INF/jsp/jsp3.jsp"); dispatcher.forward(request,response);
guest

回答4

0

ベストアンサー

WEB-INFの下のファイルには直接アクセスできないですから、
jsp3.jspと同様にservlet4を用意してdispatcher.forwardでアクセスするようにしてみてください。

投稿2016/04/13 06:47

argius

総合スコア9388

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

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

edoooooo

2016/04/13 06:51

ありがとうございます。servlet4を作ってみます
edoooooo

2016/04/13 07:10 編集

まず、jsp3に <a href="/pagechange/servlet4">最後の画面に行く前に直接はいけないから一度servletにいってurl?を使っていく</a> というコードを書きservlet4に移動して、 そのあとに、servlet4に protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dispatcher=request.getRequestDispatcher("/WEB-INF/jsp/jsp4"); dispatcher.forward(request, response); とこのようなこーどを書いたのですが、実行してみて、画面を進めていくとservlet4のところで、Served at: /pagechange となります。  jspからサーブレットに移動させたい時、 <a href="/">ではdoPost,doGetの選択をできないのでしょうか? どうぞよろしくお願いします。 今作っているのは画面をいろんな機能を使って移動していくだけのものなのですが、  jsp1からservlet1への移動などは、action を使い method=post都指定していたのですが、今回の場合どうすればいいのでしょうか?  どうぞよろしくお願いします。
argius

2016/04/13 07:16

postで送信したいのでしたら、formを作って、リンク(aタグ)からはjavascriptでそのフォームをsubmitすればできます。 <a href="#" onclick="(フォームをsubmitするスクリプト)">のようにしてformを送信します。
edoooooo

2016/04/13 07:56

sumbmitをつけないとGETになるのですね、 ありがとうございます。そしてpostで送信したい場合は、submitを使うのですね! getではしっかりと動かすことができたので、次は、postで動かしてみたいと思います。
guest

0

調べてみたところ、同じような症状で、
コンテキスト定義の更新を行ったら直ったというものがありました。

操作手順は、
プロジェクトを選択し、右クリックでプロパティ

Tomcatプロジェクト

コンテキスト定義を更新

eclipseの環境次第では、項目自体がないかもしれません。
参考程度に・・・

投稿2016/04/13 07:22

abs123

総合スコア1280

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

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

edoooooo

2016/04/13 08:02

コンテキスト定義の更新とは、tomcatをリスタートすることとは違うのでしょうか?
abs123

2016/04/13 08:19

コンテキストXMLフラグメントファイル?という物を更新する処理みたいなので、 tomcatのリスタートとは違うものだと思います。
edoooooo

2016/04/13 08:24

そうなのですね,操作手順は、 プロジェクトを選択し、右クリックでプロパティ ↓ Tomcatプロジェクト ↓ コンテキスト定義を更新 では、見つけることができなかったのですが、ネットにいろいろな情報が載っていたので見てみたいと思います。ありがとうございました。
guest

0

場所の指定が間違っているだけでは?
ココが参考になりそうですよ。

コンテキストパスの設定-Tomcatの設定
コンテキストパスの設定の仕方

投稿2016/04/13 01:03

kaputaros

総合スコア1844

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

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

edoooooo

2016/04/13 06:38

ありがとうございます。xmlファイルというものを作ってもいじってもいないのですが、 eclipseだからなのでしょうか?それとも、xmlを作るべきなのでしょうか?
kaputaros

2016/04/13 07:23

eclipseの内部サーバを使っているのですね。 でしたら、xmlをいじらなくてもいいようになっていると思います。 eclipseのTomcat設定を参照しにいっていると思うので、 どのような設定になっているか一度確認してみてもいいかもしれません。 RequestDispatcherを使用されているということは、別サーバーの処理へ飛ばしているんですね?
edoooooo

2016/04/13 08:00

そうなのですね、今までちらほら聞いてはいたのですが、xmlとは何かが疑問でした。 サーバーについては、ほとんど、どうなっているのかがわからないのですが、tomcatという仮想サーバーで実行しているのだとおもいます。
kaputaros

2016/04/14 00:34

無事解決されたようで、よかったです^^ xml自体はいろんなことが定義できるので用途は様々ですが、 ざっくりと説明すると、 tomcatでは server.xml や web.xml などがあり、 サーバーの設定があったり、クラスとjspをマッピングしたり、DBアクセスの設定があったりしますよ。
guest

0

<!-- 最初のがjsp3.jspだとして、こんな感じにしたら? -->

<a href="jsp4.jsp">最後の画面にurl?を使っていく</a>

投稿2016/04/12 16:04

takasima20

総合スコア7458

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

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

edoooooo

2016/04/13 06:46

<a href="/jsp4.jsp">を<c href="jsp4.jsp">のように/をとるということでしょうか? 実行してみたのですが、HTTP Status 404 - /pagechange/jsp4.jsp のエラーはまた出てしまいます。どうぞよろしくお願いします
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問