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

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

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

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

Q&A

解決済

1回答

13282閲覧

404ページが表示されてしまう

T2blrgKWmff6Bqm

総合スコア8

Java

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

0グッド

0クリップ

投稿2019/12/27 05:11

編集2019/12/28 13:15

前提・実現したいこと

スッキリわかるサーブレット&JSP入門を参考にしてログイン画面を作ったのですが、
404ページに飛んでしまいます。

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

オリジンサーバーは、ターゲットリソースの現在の表現を見つけられなかったか、またはそれが存在することを開示するつもりはありません。

該当のソースコード

index.jsp

jsp

1 2 3<%@ page language="java" contentType="text/html; charset=UTF-8" 4 pageEncoding="UTF-8"%> 5<!DOCTYPE html> 6<html> 7<head> 8<meta charset="UTF-8"> 9<title>役員報告</title> 10</head> 11<body> 12<h1>役員報告</h1> 13<form action="/yakuin/Login" method="post"> 14ユーザー名:<input type="text" name="name"><br> 15パスワード:<input type="password" name="pass"><br> 16<input type="submit" value="ログイン"> 17</form> 18</body> 19</html>

loginResult.jsp

jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ page import="model.User" %> 4 <% 5 User loginUser = (User)session.getAttribute("loginUser"); 6 %> 7<!DOCTYPE html> 8<html> 9<head> 10<meta charset="UTF-8"> 11<title>役員報告</title> 12</head> 13<body> 14<h1>役員ログイン</h1> 15<% if(loginUser !=null){ %> 16<p>ログインに成功しました!</p> 17<p>おはようございます<%= loginUser.getName() %>さん</p> 18<a href="/yakuin/Main">役員報告一覧</a> 19<%}else{ %> 20<p>ログインに失敗しました</p> 21<a href="/yakuin/">TOPへ</a> 22<% } %> 23</body> 24</html>

Login.java

java

1package servlet; 2 3import java.io.IOException; 4 5import javax.servlet.RequestDispatcher; 6import javax.servlet.ServletException; 7import javax.servlet.annotation.WebServlet; 8import javax.servlet.http.HttpServlet; 9import javax.servlet.http.HttpServletRequest; 10import javax.servlet.http.HttpServletResponse; 11import javax.servlet.http.HttpSession; 12 13import model.LoginLogic; 14import model.User; 15 16/** 17 * Servlet implementation class Login 18 */ 19@WebServlet("/Login") 20public class Login extends HttpServlet { 21 private static final long serialVersionUID = 1L; 22 23 /** 24 * @see HttpServlet#HttpServlet() 25 */ 26 27 // TODO Auto-generated constructor stub 28 29 30 /** 31 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 32 */ 33 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 34 // TODO Auto-generated method stub 35 request.setCharacterEncoding("UTF-8"); 36 String name= request.getParameter("name"); 37 String pass = request.getParameter("pass"); 38 39 User user =new User(name,pass); 40 41 LoginLogic loginLogic=new LoginLogic(); 42 boolean isLogin =loginLogic.execute(user); 43 44 if(isLogin) { 45 HttpSession session = request.getSession(); 46 session.setAttribute("loginUser", user); 47 } 48 49 RequestDispatcher dispatcher= 50 request.getRequestDispatcher("/WEB-INF/jsp/loginResult.jsp"); 51 dispatcher.forward(request,response); 52 } 53}

LoginLogic.java

java

1package model; 2 3public class LoginLogic { 4 public boolean execute(User user) { 5 if(user.getPass().contentEquals("1234")) {return true;} 6 return false; 7 } 8 9}

Mutter.java

java

1package model; 2import java.io.Serializable; 3 4public class Mutter implements Serializable{ 5 private String userName; 6 private String text; 7 public Mutter() {} 8 public Mutter(String userName,String text) { 9 this.userName=userName; 10 this.text=text; 11 } 12 public String getUserName() {return userName;} 13 public String getText() {return text;} 14 15} 16

User.java

java

1package model; 2import java.io.Serializable; 3 4public class User implements Serializable{ 5 private String name; 6 private String pass; 7 8 public User() {} 9 public User(String name,String pass) { 10 this.name=name; 11 this.pass=pass; 12 } 13 public String getName() {return name;} 14 public String getPass() {return pass;} 15} 16 17 18

試したこと

プロジェクトを閉じたりしたのですが、だめでした。

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

ディレクトリです

yakuin

javaリソース
src
model

・LoginLogic.java
・Mutter.java
・User.java

servlet

・Login.java

WebContent
WEB-INF

・index.jsp
・loginResult

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

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

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

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

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

y_waiwai

2019/12/27 05:51

コードは画像ではなく、テキストで提示しましょう 質問を編集し、<code>ボタンを押し、出てきた’’’の枠の中にコードを貼り付けてください
T2blrgKWmff6Bqm

2019/12/27 06:21

大変失礼いたしました 記載させていただきましたので、よろしくお願いいたします。
snowshink

2019/12/28 05:15 編集

そもそもindex.jspが表示されないのですか?それとも、ページ遷移に失敗するのですか? eclipseでやっていると思うので、コンソールにエラーメッセージが出てたらそれものせてください。 あと、ディレクトリの構造も。どこにどのファイルがあるのか教えてください。 あと、コードを一つにまとめないでファイルやクラスごとにしてください。こんな感じに index.jsp ```jsp ``` LoginLogic.java ```java ``` ...
guest

回答1

0

ベストアンサー

補足ありがとうございます。
サーバーは何を使ってますか?サーバーウィンドウにtomcatというのがあると思うのですが、その後ろの数字を教えてください。

一番の可能性として考えられるのが、index用のdoGet(request,response)がないですね。本と見比べながら、getリクエスト処理のコードを書いてください。

ページを開くとき、どのファイルを選択してますか?。基本的にはサーブレットを選んで、そこにgetリクエストを送るのですが、それを処理するコードがないのですが…
index.jspを選択してるなら、サーバー側の問題の可能性が高いです。
Eclipse tomcat7.0(数字は環境に合わせて) 404 notfound で調べてみては?まあ、そういう使い方はしないのですが…

投稿2019/12/28 14:59

snowshink

総合スコア138

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

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

T2blrgKWmff6Bqm

2019/12/29 04:54

ご回答ありがとうございます。 Tomcat9.0を使っています。 テキストには、doGetがないのですが、書いたほうがいいのでしょうか?
snowshink

2019/12/29 05:06

いいというより、ほぼ必須でしょう。基本的なリクエストはgetなので… テキストにないのは、省略しているからでは? index.jspを呼ぶサーブレットがないのも気になります。
T2blrgKWmff6Bqm

2019/12/30 06:27

エラーから抜け出せました!! ありがとうございます!!!!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問