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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

servlet

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

Tomcat

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

Q&A

解決済

2回答

2849閲覧

404エラーについて

hayashiyujirou

総合スコア9

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

JSP

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

Java

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

servlet

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

Tomcat

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

0グッド

0クリップ

投稿2018/06/16 17:12

近頃サーブレット・JSPの勉強を始めた者です。
サーブレットからJSPを表示し、入力した値に応じたデータをデータベースから引っ張り出し表示させるサンプルを作成しています。
URLにhttp://localhost:8080/blood/BloodInputServletと入力しJSPの入力画面が表示されればよいのですが、
404エラーが発生いたします。
是非解決方法をご教示いただければと思います。
初歩的なことで恐縮ですが、よろしくお願いします。
以下は作成段階ではありますが、関連したソースコードになります。
--------------web.xml---------------
<web-app>
<servlet>
<servlet-name>BloodResultServlet</servlet-name>
<servlet-class>blood.BloodResultServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BloodResultServlet</servlet-name>
<url-pattern>/BloodResultServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>BloodInputServlet</servlet-name>
<servlet-class>blood.BloodInputServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>BloodInputServlet</servlet-name>
<url-pattern>/BloodInputServlet</url-pattern>
</servlet-mapping>

</web-app>

--------------------blood.jsp-------------------------
<%@ page language="java" contentType="text/html;charset = UTF-8"
pageEncoding="UTF-8"%>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="blood.BloodBean"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>血液型データ</title> <link href="blood.css" rel="styleSheet" type="text/css"> </head> <body> <% if ((boolean) request.getAttribute("errorFlag")) { %>
<p>データベース接続エラー</p> <% } else { ArrayList<BloodBean> bloodBeanList = (ArrayList<BloodBean>) request.getAttribute("bloodBeanList"); %> <form name="blood_data" action="BloodResultServlet"> <div> <p> <input type="text" name="userId" placeholder="コードを入力してください"> </p> <p> <input type="text" name="Name" placeholder="名前を入力してください"> </p> <p> <input type="text" name="age" placeholder="年齢を入力してください"> </p> <span><input type="text" name="bloodType" placeholder="血液型を入力してください"></span> <input type="submit" value="登録"> </div> <div id="ketuekigata"> 血液型 <select id="blood_type"> <option> <option> <option>AB</option> <option>A</option> <option>B</option> <option>O</option> <option>選択無し</option> </select> <input type="submit" id="kensaku" value="検索" onclick="serch()"> <input type="button" value="クリア" id="clear_box" onclick="kuria()"> <script type="text/javascript" src="blood.js"></script> </div> </form> <table border=1> <tr> <td>コード</td> <td>名称</td> <td>年齢</td> </tr> <% for (BloodBean bloodBean : bloodBeanList) { %> <tr> <td><%=bloodBean.getUserId()%></td> <td><%=bloodBean.getName()%></td> <td><%=bloodBean.getAge()%></td> </tr> </table> <% } %>

<%-- <%
BloodBean bb = new BloodBean();
%>
<%=bb.getUserId()%>
<%=bb.getName()%>
<%=bb.getAge()%>
<%=bb.getBloodType()%>
--%>
<div>検索結果:</div>
<%
}
%>

<script type="text/javascript" src="blood.js"></script>
</body> </html> ------------------BloodInputServlet-------------------- package blood;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class BloodInputServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {

try { BloodDao bloodDao = new BloodDao(); ArrayList<BloodBean> bloodBeanList = bloodDao.selectBloodData(); request.setAttribute("bloodBeanList",bloodBeanList); request.setAttribute("errorFlag",false); } catch (ClassNotFoundException | SQLException e) { request.setAttribute("errorFlag",true); //エラーが出た場合はtrue } RequestDispatcher dispatcher = request.getRequestDispatcher("blood.jsp");//input.jspにデータを送る dispatcher.forward(request,response); }

}


(tomcatプロジェクト)プロジェクト名:BloodData
-WEB-INF/src
-パッケージ名:blood
-BloodBean.java
-BloodDao.java
-BloodInputServlet.java
-BloodResultServlet.java 

  -WEB-INF
-lib
-src
-web.xml
-blood.jsp

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/06/16 23:54

HTTP 404 エラーと言うことは、要求はサーバーに届いていて、その要求 (url) に応じてサーバー内でリソースを探したが見つからないと言う応答を返したということです。その前提で問題の原因を切り分けしてください。
guest

回答2

0

自己解決

私用のためにネットが使えず、皆様お返事ができず申し訳ありませんでした。
URLの綴りミスが原因だったようです。

ありがとうございました。

投稿2018/07/01 06:02

hayashiyujirou

総合スコア9

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

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

0

WEB-INFの中にあるリソースへ遷移する場合は、/WEB-INFが必要です。

java

1request.getRequestDispatcher("/WEB-INF/blood.jsp");

投稿2018/06/18 13:16

A-pZ

総合スコア12011

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問