下記のようなコードを書いていると
Customer customer = dao.search(loginname,password);//カスタマーDAOで見つけた値をcustomerに代入
の部分でエラー表示が出て**「処理されない例外の型」**と出ます。
この表示が出る理由と対処法を教えていただけますでしょうか?
よろしくお願いいたします。
OS windows10
エディション enterprise
言語 java8.0.1310.11
MariaDB10.1
HeidiSQL
eclipse NEON
package NewOne; import java.io.IOException; 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 beans.Customer; import dao.CustomerDAO; /** * Servlet implementation class Login */ @WebServlet("/Login") public class Login 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 { // TODO Auto-generated method stub //response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //doGet(request, response); request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); HttpSession session = request.getSession();//セッション用意 String loginname = request.getParameter("loginname");//パラメータ取得 String password = request.getParameter("password");//パラメータ取得 CustomerDAO dao = new CustomerDAO();//カスタマーDAOインスタンス化 Customer customer = dao.search(loginname,password);//カスタマーDAOで見つけた値をcustomerに代入 if(customer != null){ session.setAttribute("customer", customer);//見つかったらセッションに入れる! request.getRequestDispatcher("login-ok.jsp").forward(request, response);//ログイン完了のページへ }else{ request.getRequestDispatcher("login-error.jsp").forward(request, response);//ログインエラーのページへ } } }
dao.searchメソッドは下記のとおりです。
package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import beans.Customer; public class CustomerDAO extends DAO { public Customer search(String loginname,String password) throws Exception{ Customer customer = null; Connection con = getConnection(); PreparedStatement st = con.prepareStatement("select* from customer where loginname=? and password=?"); st.setString(1, loginname); st.setString(2, password); ResultSet rs = st.executeQuery(); while(rs.next()){ customer = new Customer(); customer.setId(rs.getInt("id")); customer.setLoginname(rs.getString("Loginname")); customer.setPassword(rs.getString("password")); } st.close(); con.close(); return customer; } }

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2018/02/21 05:09