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

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

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

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

servlet

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

Q&A

0回答

1739閲覧

HTMLからServletへの遷移が失敗します。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

servlet

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

0グッド

0クリップ

投稿2020/02/11 04:30

編集2020/02/11 04:42

前提・実現したいこと

Servletの学習をJavaDriveのサイトを参考にしながらEclipseで実行しています。
リダイレクトの設定(SendRedirect)の章でHTMLからServletへ遷移する際に失敗してしまいます。

↓参考ページ
https://www.javadrive.jp/servlet/response/index6.html

パスの設定、マッピングが原因ではないのかと何日か試行錯誤してみたのですがエラーを解消することができません。

以下の内容なのですが、よろしくお願いします。

発生している問題・エラーメッセージ

file:///Users/hoge/pg/eclipse-workspace/Servlet_Sample7/src/ResponseSample7?url=www.yahoo.co.jp Page load failed with error: The requested URL was not found on this server.

該当のソースコード

html

1 2 3<!DOCTYPE html> 4 5<html lang="ja"> 6<head> 7<meta http-equiv="Content-Type" Content="text/html;charset=UTF-8"> 8<title>サンプル</title> 9</head> 10<body> 11 12<p>リダイレクト先の設定</p> 13 14<form action="/ResponseSample7" method="get"> 15 16<table> 17<tr> 18<td>リダイレクト先の選択</td> 19<td> 20<select name="url" size="2"> 21<option value="www.yahoo.co.jp">YAHOO</option> 22<option value="www.google.co.jp">GOOGLE</option> 23</select> 24</td> 25</tr> 26</table> 27<input type="submit" value="送信"> 28</form> 29 30</body> 31</html>

JAVA

1 2import java.io.IOException; 3import java.io.PrintWriter; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse; 10 11/** 12 * Servlet implementation class ResponseSample5 13 */ 14@WebServlet("/ResponseSample7") 15public class ResponseSample7 extends HttpServlet { 16 private static final long serialVersionUID = 1L; 17 18 public void doGet(HttpServletRequest request, HttpServletResponse response) 19 throws IOException, ServletException{ 20 21 response.setContentType("text/html; charset=UTF-8"); 22 PrintWriter out = response.getWriter(); 23 24 String tmp; 25 26 String url = ""; 27 tmp = request.getParameter("url"); 28 if (tmp == null || tmp.length() == 0){ 29 url = "http://www.excite.co.jp/"; 30 }else{ 31 url = "http://" + tmp; 32 } 33 34 response.sendRedirect(url); 35 } 36} 37

試したこと

フォルダの配置やパスの設定の見直し
ServletのファイルでマッピングせずWeb.xmlファイルでマッピング
Eclipseでの実行ではなくJavaDriveと同じ環境での実行

補足情報(FW/ツールのバージョンなど)

java version "13.0.2" 2020-01-14
Eclipse IDE for Enterprise Java Developers.Version: 2019-12 (4.14.0)
Server version: Apache Tomcat/9.0.30

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2020/02/11 04:33

そんなformの記述はどこに書いてあった?
m.ts10806

2020/02/11 04:33

質問は編集できます。削除依頼もできます。
退会済みユーザー

退会済みユーザー

2020/02/11 04:55

すいません。formは試行錯誤していた部分でしたので記述修正しました。
退会済みユーザー

退会済みユーザー

2020/02/11 05:07

とりあえず。その参考ページの通りやってから3.xのアノテーション化しましょう。 かかれてる記述の通りやれば通るので(目視レベル
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問