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

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

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

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

servlet

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

Q&A

解決済

1回答

6409閲覧

jspで未入力チェック

kk12345

総合スコア3

JSP

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

servlet

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

0グッド

0クリップ

投稿2020/05/25 09:35

前提・実現したいこと

ユーザーidが未入力の場合、「ユーザいーidが入力されていません」と表示
パスワードが未入力の場合、「パスワードが入力されていません」と表示したいのですが
どう処理を進めていったらいいか分からないので、ご教授いただけますでしょうか。

該当のソースコード

jsp

1<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 2<!DOCTYPE html> 3<html lang="ja"> 4 <head> 5 <meta charset="UTF-8"> 6 <link href="<%=request.getContextPath()%>/css/style.css" rel="stylesheet" type="text/css" /> 7 <title>ログイン画面</title> 8 </head> 9 10 <body> 11 <%@include file="/jsp/common/header.jsp"%> 12 13 <div id="main"> 14 <p>ユーザーIDとパスワードを入力してください。</p> 15 16 <form action="<%=request.getContextPath()%>/login" method="post"> 17 ユーザーID:<input type="text" name="bookUserId"><br> 18 パスワード:<input type="password" name="password"><br> 19 <input type="submit" value="ログイン"> 20 </form> 21 </div> 22 23 <%@include file="/jsp/common/footer.jsp"%> 24 </body> 25</html>

servlet

1package jp.co.sss.book.servlet; 2 3import java.io.IOException; 4 5import javax.servlet.ServletException; 6import javax.servlet.annotation.WebServlet; 7import javax.servlet.http.HttpServlet; 8import javax.servlet.http.HttpServletRequest; 9import javax.servlet.http.HttpServletResponse; 10import javax.servlet.http.HttpSession; 11 12import jp.co.sss.book.bean.BookUser; 13import jp.co.sss.book.dao.BookUserDAO; 14 15/** 16 * ログイン用サーブレット 17 * 18 * @author system_shared 19 */ 20@WebServlet(urlPatterns = {"/login"}) 21public class Login extends HttpServlet { 22 23 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 24 25 String bookUserId = request.getParameter("bookUserId"); 26 String password = request.getParameter("password"); 27 28 BookUser bookUser = BookUserDAO.findByUserIDAndPassword(bookUserId, password); 29 30 if (bookUser != null) { 31 HttpSession session = request.getSession(); 32 session.setAttribute("bookUser", bookUser); 33 request.getRequestDispatcher("/BookList").forward(request, response); 34 35 } else { 36 request.getRequestDispatcher("jsp/index.jsp").forward(request, response); 37 } 38 39 } 40} 41 42

servlet

1package jp.co.sss.book.bean; 2 3/** 4 * ユーザ情報Bean 5 * 6 * @author system_shared 7 */ 8public class BookUser { 9 /** ユーザID */ 10 private int bookUserId; 11 12 /** ユーザ名 */ 13 private String bookUserName; 14 15 /** パスワード */ 16 private String password; 17 18 /** 19 * ユーザIDを取得 20 * 21 * @return ユーザID 22 */ 23 public int getBookUserId() { 24 return bookUserId; 25 } 26 27 /** 28 * ユーザIDを保存 29 * 30 * @param bookUserId 31 * ユーザID 32 */ 33 public void setBookUserId(int bookUserId) { 34 this.bookUserId = bookUserId; 35 } 36 37 /** 38 * ユーザ名を取得 39 * 40 * @return ユーザ名 41 */ 42 public String getBookUserName() { 43 return bookUserName; 44 } 45 46 /** 47 * ユーザ名を保存 48 * 49 * @param bookUserName 50 * ユーザ名 51 */ 52 public void setBookUserName(String bookUserName) { 53 this.bookUserName = bookUserName; 54 } 55 56 /** 57 * パスワードを取得 58 * 59 * @return パスワード 60 */ 61 public String getPassword() { 62 return password; 63 } 64 65 /** 66 * パスワードを保存 67 * 68 * @param password 69 * パスワード 70 */ 71 public void setPassword(String password) { 72 this.password = password; 73 } 74 75} 76

servlet

1 2package jp.co.sss.book.dao; 3 4import java.sql.Connection; 5import java.sql.PreparedStatement; 6import java.sql.ResultSet; 7import java.sql.SQLException; 8 9import jp.co.sss.book.bean.BookUser; 10 11/** 12 * ユーザ情報テーブル用DAO 13 * 14 * @author system_shared 15 */ 16public class BookUserDAO { 17 18 /** 19 * ユーザIDとパスワードが一致するユーザ情報を検索 20 * 21 * @param userId 22 * ユーザID 23 * @param password 24 * パスワード 25 * @return ユーザ情報 26 * @throws SQLException 27 * データベース操作失敗時に送出 28 */ 29 public static BookUser findByUserIDAndPassword(String userId, String password) { 30 31 Connection con = null; 32 PreparedStatement ps = null; 33 ResultSet rs = null; 34 35 BookUser bookUser = null; 36 37 try { 38 con = DBManager.getConnection(); 39 40 String sql = "SELECT * FROM book_user WHERE book_user_id = ? AND password = ?"; 41 ps = con.prepareStatement(sql); 42 43 ps.setString(1, userId); 44 ps.setString(2, password); 45 46 rs = ps.executeQuery(); 47 48 if (rs.next()) { 49 bookUser = new BookUser(); 50 bookUser.setBookUserId(rs.getInt("book_user_id")); 51 bookUser.setBookUserName(rs.getString("book_user_name")); 52 bookUser.setPassword(rs.getString("password")); 53 54 55 } 56 57 } catch (SQLException e) { 58 e.printStackTrace(); 59 60 } finally { 61 DBManager.close(rs); 62 DBManager.close(ps); 63 DBManager.close(con); 64 } 65 66 return bookUser; 67 } 68 69}

よろしくお願いします。

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

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

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

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

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

m.ts10806

2020/05/25 09:42

現在起きている問題は何でしょうか。
m.ts10806

2020/05/25 09:43

まず思うように組んでみてください サンプルが全くないような仕組みでもないと思います
guest

回答1

0

自己解決

Loginクラスに
request.setAttribute("属性名", "表示したいメッセージ");
を記述し、jspで取得すればメッセージを表示することができました。

投稿2020/05/26 05:00

kk12345

総合スコア3

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問