🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JSP

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

Java

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

Eclipse

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

Tomcat

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

Q&A

解決済

1回答

5611閲覧

jspからjspでの遷移ができない

leeev

総合スコア20

JSP

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

Java

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

Eclipse

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

Tomcat

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

0グッド

0クリップ

投稿2019/12/06 02:15

編集2019/12/06 02:22

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); }%>

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

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

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

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

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

guest

回答1

0

自己解決

getContextPath()/view/~~~.jspにしたところ無事遷移できました。

投稿2019/12/07 01:09

leeev

総合スコア20

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問