jspからhrefで別のjspへ遷移したいのですが、404となってしまいます。
web.xmlにjspを記述したり、絶対パスや相対パスにしてみたりしましたが無理でした。
方法があれば教えていただきたいです。
例えばですが、下の2つのjspから互いにhrefで遷移しようとすると、404になってしまいます。セッション情報がなかった場合にLogin.jspに遷移するようにしており、その遷移は成功するのですが、hrefでの遷移ができません。
余談ですが、Login.jspからExecuteLogin.javaを起動し、Input.jspを表示するようにしているのですが、その時のInput.jspのブラウザ上のURLがhttp://localhost:8080/practice/ExecuteLoginになっているのも謎です。これも何か関係ありますか?
Input.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="model.UserInfoDto" %> <% session = request.getSession(); UserInfoDto userInfoOnSession = (UserInfoDto)session.getAttribute("LOGIN_INFO"); UserInfoDto userInfoOnRequest = (UserInfoDto)request.getAttribute("LOGIN_INFO"); %> <% if(userInfoOnSession != null){ %> <!DOCTYPE html> <html> <head> <title>回答入力</title> </head> <body> <h2>アンケートフォーム</h2> <form action="<%=request.getContextPath() %>/ExecuteInput" method="post"> <p>名前:" <%=userInfoOnSession.getUserName() %> </p> <p> 問い合わせの種類: <select name="QUELY_TYPE"> <option value="1">あ</option> <option value="2">い</option> <option value="3">う</option> <option value="4">え</option> </select> </p> <p>問い合わせ内容:<br> <textarea name="MESSAGE" rows="4" cols="50" maxlength = "400" id="ID_MESSAGE_ID"></textarea> </p> <input type="submit" value="送信する" id="ID_SUBMIT"> <p><a href ="/view/ShowAll.jsp">回答一覧を表示する</a></p> <p><a href = "/view/Logout.jsp">ログアウトする</a></p> </form> </body> </html> <%}else{ RequestDispatcher disp = request.getRequestDispatcher("/view/Login.jsp"); disp.forward(request, response); } %>
ShowAll.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="model.BusinessLogic" import="model.QueryDto" import="java.util.List" import="java.util.ArrayList" import="java.sql.Timestamp" import="model.UserInfoDto" %> <% session = request.getSession(); UserInfoDto userInfoOnSession = (UserInfoDto)session.getAttribute("LOGIN_INFO"); if(userInfoOnSession != null){ BusinessLogic logic = new BusinessLogic(); List<QueryDto> qdtoList = new ArrayList<>(); qdtoList = logic.executeShowAll(); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>問い合わせ一覧</title> </head> <body> <table class ="list" border=1> <tr bgcolor="#c0c0c0"> <th>名前</th> <th>問い合わせの種類</th> <th>問い合わせ内容</th> <th>問い合わせ時刻</th> </tr> <% for(int i = 0; i<qdtoList.size(); i++){ //各フィールドの用意 String name = qdtoList.get(i).getName(); int queryType = qdtoList.get(i).getQueryType(); String message = qdtoList.get(i).getMessage(); Timestamp time = qdtoList.get(i).getTime(); %> <tr> <td><%=name %></td> <% switch(queryType){ case 1: %> <td>あ</td> <% break; case 2: %> <td>い</td> <% break; case 3: %> <td>う</td> <% break; case 4: %> <td>え</td> <% break; } %> <td><%=message %></td> <td><%=time %></td> </tr> <% } %> </table> <p><a href="/view/Input.jsp">回答画面に戻る</a></p> </body> </html> <%}else{ RequestDispatcher disp = request.getRequestDispatcher("/view/Login.jsp"); disp.forward(request,response); }%>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。