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

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

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

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JSP

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

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

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

Q&A

解決済

1回答

3444閲覧

サーブレットでサーバーを起動すると、404エラーになる問題を解決したい

ryuya1204

総合スコア12

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

JSP

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

Java

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

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

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

0グッド

0クリップ

投稿2021/01/29 05:13

#サーブレットのプログラムが起動しない

現在、Eclipseを学習中で、サーブレットを使用し、Webサーバー上で動作をするかどうかの確認を行っています。
まず、Eclipseのプロジェクトの階層構造としては、以下のような仕組みになっております。

大変お手数おかけしますが、下記のURLからご確認いただければ幸いです。
プロジェクトの階層構造

サーバーのターゲットランタイムはTomcat8を使用しております。

プロジェクトを起動した時のエラーは、404エラーになってしまいます。
サーバーが指定しているwebページを見つけられないということはわかるのですが、具体的にどの部分の記述が間違えておりエラーが起きているのか分からない状態となっております。

index.jspのソースコードは以下になります。
Eclipse上、エラーは生じておりません。(赤い下線部は引かれておりません)

index.jsp

web.xmlのソースコードは以下になります。

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>Check4</display-name> <servlet> <servlet-name>search</servlet-name> <servlet-class>controller.EmployeeController</servlet-class> </servlet> <servlet-mapping> <servlet-name>search</servlet-name> <url-pattern>/search</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>

プロジェクトを起動したときのエラー画面としては、404のエラーが発生しております。
URLは、
http://localhost:8080/Check4/
の時に404エラーとなってしまい、

urlをweb.xmlのurl petternに沿って下記のようにsearchを追加したところ
http://localhost:8080/Check4/search

405 Method Not Allowed
のエラーになってしまいます。

原因箇所が突き止められず、この状態から解決できていないのですがエラーになってしまう原因としては、

①階層構造がおかしい
②web.xmlの記述に問題がある
③index.jspの記述に問題がある

のどれかなのかと思っております。
まだ、中の状態を理解しきれていないので、検討外れのことを言っている部分もあるかと思うのですが、
アドバイスいただけると幸いでございます。

大変お手数おかけしますがご確認よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

サーブレットとjspを混同していないでしょうか?
サーブレットは、*.jarのファイルのはずです。
※今回であれば、別途search.jarなどが必要でしょう。

404エラーが出ているのは、Check4だけ指定した時におこなうべき処理が明示されていないからでしょう。

405エラーが出ているのは、単にsearch.jarに値するサーブレットが存在しないからでしょう。

jspを動かしたいのであれば、
プロジェクトの階層でjspまでのフルパスを書く必要があるはずです。

http://localhost:8080/Check4/(割愛)/index.jsp

まずは、jspとサーブレットについて、tomcatでのデプロイ方法、表示(URL指定)方法を
勉強しなおしてみてはいかがでしょうか?

参考URL:
https://www.bnote.net/java/url-pattern.html

 https://eng-entrance.com/java-servlet-mapping#URL-3

 https://kanda-it-school-kensyu.com/java-jsp-servlet-contents/jjs_ch14/jjs_1402/

投稿2021/01/29 05:38

WhiteTempest

総合スコア404

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

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

ryuya1204

2021/01/29 09:30

ご回答いただきありがとうございます! 大変参考になる記事をありがとうございました! おかげさまで理解が進みました。 また、index.htmlのファイル箇所が間違えており、そこを修正し解決をすることが出来ました。
WhiteTempest

2021/01/29 09:50

>index.htmlのファイル箇所が間違えており すみません。 多分、Check4の直下が正しかったですよね。。。 (言ってあげればよかった・・・) 解決して良かったです。 勉強頑張ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問