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

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

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

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

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

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

Q&A

解決済

2回答

1942閲覧

コード内で書いたPATHとeclipseの左側の階層図の保存先が違います。これでは、繋がらないのでしょうか?それとも隠しファイルなどなのでしょうか?

edoooooo

総合スコア476

JSP

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

Java

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

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

servlet

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

0グッド

0クリップ

投稿2015/10/29 03:43

すっきりわかるservlet & JSP 入門という本でサンプルコードでSNSを作れるというもので勉強しているのですが、コードの上の見出しの所に、保存するファイル名と場所が、記載されていて、
main.jsp(WEB-INF/jspディレクトリ)と書かれています。
その場合
eclipseの左側の階層図のWEB-INFの階層の下にjspが入っていないのはまずいでしょうか?すみませんがどうぞよろしくお願いします。
これでは、繋がらないから、404エラになっているのではと感じています。よろしくお願いします。

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

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

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

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

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

guest

回答2

0

eclipse上のパス(ソース管理上の都合で自由に変更可能)と、実際にTomcatなどのアプリケーションサーバー上へデプロイされるWar内部のディテクトリ構成は、必ずしも同じでなくて良いのですが・・・

WEB-INF 配下はセキュリティ上 外部からアクセス出来ては困る資産 を配置する場所なので、実際にデプロイされるWarの内部が「WEB-INF/jsp」となっているのだとするとおかしいですね。

特別な目的がありビルドスクリプトも自分で修正した上で、敢えてその様なディレクトリ構成にするなら止めませんが、通常はそんなことしない気がします。

その参考書の誤記なのでは?
Web上のサポートサイトなどに正誤表が掲載されていませんか?

投稿2015/10/29 05:22

pi-chan

総合スコア5936

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

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

edoooooo

2015/10/29 06:44

その本にはeclipse内の左側にあるファイルの階層図みたいのは書いてなくて、自分が保存先を間違えていただけだと今思いました。
guest

0

ベストアンサー

JSPのパスに限っては、本の記載は忘れた方が良いかも知れませんね。

一般的なJavaのWebアプリケーションのディレクトリー構成(WARファイルを作るための構成)では、

<context-root> +- WEB-INF/ +- jsp/

<context-root> +- jsp/ +- WEB-INF/

のどちらも見られますが、直接JSPにアクセスできないorさせないように、前者のWEB-INFの下に置くようにしたほうが私は良いと思います。

JSPが

<context-root> +- WEB-INF/ +- jsp/ +- main.jsp

となっていたら、
response.getRequestDispatcher("/WEB-INF/jsp/main.jsp")
のように使います。

これでもダメなようなら、<context-root>が間違っているか、設定されていない可能性も考えたほうが良さそうです。

投稿2015/10/29 07:56

argius

総合スコア9388

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

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

edoooooo

2015/10/29 08:02

回答ありがとうございます。じぶんは今まで、 <context-root> +- WEB-INF/ +- main.jsp となっているのに、 response.getRequestDispatcher("/WEB-INF/jsp/main.jsp") として、エラーが出ていました。 本なのですが、保存するファイル名と場所が、記載されていて、 main.jsp(WEB-INF/jspディレクトリ) と書いてあったので、階層にmain.jsp の前にjspを入れるのと、 response.getRequestDispatcher("/WEB-INF/jsp/main.jsp") のjspを抜くのでは同じことでしょうか?よろしくお願いします。
argius

2015/10/29 08:08

「main.jsp(WEB-INF/jspディレクトリ)」という記載は、「WEB-INF/jsp/ディレクトリの下にあるmain.jsp」と解釈できます。 なので、jspは抜かないでください。 本で書いている内容は、私が回答欄の最後に書いた通りのことを言っていると思います。
edoooooo

2015/10/30 13:29

jspはコードには、しっかりと入っていたため、eclipseの階層を増やしたところ、top画面も開けなくなり、いろいろ考えた結果、WEB-INF/lib/という、インストールしたファイルをコピペした階層を消していることに気づき、階層を作り、再インストールして、貼り付けしてみたのですが、top画面から404が出ます。知識の豊富な方に聞いてみてもわからないとのことでした。コードを理解して、解決したいと思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問