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

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

新規登録して質問してみよう
ただいま回答率
85.35%
サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Q&A

解決済

1回答

2354閲覧

サーブレットに赤文字が出てくる

ypk

総合スコア83

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

0グッド

0クリップ

投稿2020/06/25 07:19

初めまして。
現在Javaの学習をしているものです。

現在、Eclipseを用いて下記のようなソースを書いたのですが赤い波線が出てきてしまいます。

イメージ説明

なぜ、下記のような赤波線が出てきてしまうのでしょうか。

これは、私がsearchメソッドの使い方が適切ではないからなのでしょうか。
もし何か、お気づきの点がございましたら教えていただけると嬉しいです。

どうぞよろしくお願いいたします。

*このソースコードで行おうとしていることについては、下記のリンク先にて詳しく記しています。もしよろしければ、ご覧ください。

https://teratail.com/questions/272783

#ソースコード

Servlet

1package exam; 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; 11import common.LoggerTester 12 13import dao.UserDAO; 14 15@WebServlet("/Login") 16public class LoginServ extends HttpServlet { 17 18 public void doPost(HttpServletRequest request, HttpServletResponse response) 19 throws ServletException, IOException { 20 21 //getSessionメソッドによりセッションを開始 22 HttpSession session = request.getSession(); 23 24 25 //リクエストで受け取る文字列符号化方式を指定 26 request.setCharacterEncoding("UTF-8"); 27 28 LoggerTester lt = new LoggerTester(); 29 30 lt.outActionLog("Login", "処理開始"); 31 32 try { 33 34 // Servlet 初期化パラメータ情報 35 String userid = request.getParameter("loginid"); 36 String password = request.getParameter("userpassword"); 37 38 //UserDAOからログインデータの取得 39 UserDAO dao = new UserDAO(); 40 User user = dao.search(loginid, userpassword); 41 42 //if (request.getParameter("username") == un){ 43 if (user != null) { 44 45 session.setAtribute("user", user); 46 getServletContext().getRequestDispatcher("/BookManagementListDisp.java").forward(request, response); 47 48 }else { 49 50 request.setAttribute("loginErrorMessage","入力内容に誤りがあります。"); 51 getServletContext().getRequestDispatcher("/login.jsp").forward(request, response); 52 53 54 } 55 56// DBエラーの場合、エラーメッセージをリクエストに登録し、エラー画面にフォワード 57 }catch(Exception e){ 58 59 e.printStackTrace(); 60 request.setAttribute("dbConnectionError", "データベース接続にエラーが発生しました。"); 61 getServletContext().getRequestDispatcher("/errorMessage.jsp").forward(request, response); 62 63 } 64 } 65} 66

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

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

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

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

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

guest

回答1

0

ベストアンサー

ご自身の先のご質問と同じ原因でしょう。
赤い波線がなぜ出てきてしまうのかが不明 - teratail#272705

赤い波線はUser user = dao.search(loginid, userpassword);の行で出ている訳ですが、Userクラスも、dao.search(UserDAO.search)メソッドに渡している変数loginiduserpasswordも、未定義です。Userクラスはどこで宣言しているのか分かりませんが、少なくとも変数loginiduserpasswordについては、

Java

1// Servlet 初期化パラメータ情報 2String userid = request.getParameter("loginid"); 3String password = request.getParameter("userpassword");

で定義したものを使うつもりだったのでは?

投稿2020/06/25 07:38

編集2020/06/25 07:40
dodox86

総合スコア9256

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

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

ypk

2020/06/25 08:12

ありがとうございます。 私の確認不足でした。無事に解決されました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問