近頃サーブレット・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>
--------------------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"%>
<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>
<%
}
%>
</body> </html> ------------------BloodInputServlet-------------------- package blood;<script type="text/javascript" src="blood.js"></script>
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
回答2件
あなたの回答
tips
プレビュー