teratail header banner
teratail header banner
質問するログイン新規登録
JSP

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

Java

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

servlet

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

Q&A

解決済

1回答

951閲覧

jspとservletを遷移させてログイン画面を表示させたい

yghvbn

総合スコア3

JSP

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

Java

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

servlet

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

0グッド

0クリップ

投稿2020/06/15 00:08

0

0

前提・実現したいこと

servletとjspを使って会員登録機能を実装したいです。
ログインメニューページから1,ログイン、2,新規登録のページに遷移させたいのですが、エラーがでてしまいます。自分では間違いがみつけられなかったのでご指摘ください。

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

エラーメッセージ

ログイン画面への遷移:404
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
新規登録画面への遷移:404
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

該当のソースコード

ソースコード

-----login_main.jsp-----
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ログイン画面</title> </head> <body> <form action="/模擬プロジェクト/login" method="post"> 名前:<input type="text" name="name" required><br> パスワード:<input type="password" name="pass" required><br> <input type="submit" value="ログイン"><br> </form> <p> アカウント登録がお済みでない方はこちらへ↓<br> <a href="/registration"><button>新規登録</button></a> </p> </body> </html> -----LoginControlServlet----- package servlet;

import java.io.IOException;

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

/**

  • Servlet implementation class LoginMain
    /
    @WebServlet(name="/LoginControlServlet",urlPatterns= {"/login"})
    public class LoginControlServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    /
    *
    • @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      String path = "/WEB-INF/login.jsp";
      // --↓Debug Print06_03 Add ------
      System.out.println("doGet;path = " + path);
      // --↑Debug Print06_03 Add ------

      RequestDispatcher rd = request.getRequestDispatcher(path);
      rd.forward(request, response);
      }
      protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      doGet(request,response);
      }
      }

-----RegistrationServlet-----
package servlet;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import JavaBeans.AccountsBeans;

/**

  • Servlet implementation class AccountRegister
    */
    @WebServlet(name="/Registration", urlPatterns="/registration")
    public class Registration extends HttpServlet {
    private static final long serialVersionUID = 1L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    String path = "/registration.jsp";
    // --↓Debug Print06_03 Add ------
    System.out.println("doGet;path = " + path);
    // --↑Debug Print06_03 Add ------

    RequestDispatcher rd = request.getRequestDispatcher(path); rd.forward(request, response);

    }
    /**

    • @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
      */
      protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      String name = request.getParameter("name");
      String accountId = request.getParameter("accountId");
      String pass = request.getParameter("pass");
      int role = Integer.parseInt(request.getParameter("role"));

      // register.jspから受け取った値をビーンズにセット
      AccountsBeans ab = new AccountsBeans();
      ab.setName(name);
      ab.setAccountId(accountId);
      ab.setPass(pass);
      ab.setRole(role);

      // アカウントをDBに登録
      // セッションにアカウント情報を保存
      HttpSession session = request.getSession();
      session.setAttribute("account", ab);

      RequestDispatcher rd = request.getRequestDispatcher("registration.jsp");
      rd.forward(request, response);

    }

}

試したこと

url指定の書き方を変えてみましたがうまくいきませんでした。

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

<form action="/模擬プロジェクト/login" method="post">

とりあえずURLに日本語(マルチバイト文字)を入れるのはどうかと
※ URLが 一致はしない。

投稿2020/06/15 00:40

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

yghvbn

2020/06/15 01:19

プロジェクト名が模擬プロジェクトなのですが、変更したほうが良いということでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問