- Home ›
- サーブレット/JSP入門 ›
- スケジュール管理 ›
- HERE
LoginCheck1.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class LoginCheck1 extends HttpServlet { protected Connection conn = null; public void init() throws ServletException{ String url = "jdbc:mysql://localhost/servletschedule"; String user = "scheduleuser"; String password = "schedulepass"; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); conn = DriverManager.getConnection(url, user, password); }catch (ClassNotFoundException e){ log("ClassNotFoundException:" + e.getMessage()); }catch (SQLException e){ log("SQLException:" + e.getMessage()); }catch (Exception e){ log("Exception:" + e.getMessage()); } } public void destory(){ try{ if (conn != null){ conn.close(); } }catch (SQLException e){ log("SQLException:" + e.getMessage()); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException{ response.setContentType("text/html; charset=Shift_JIS"); PrintWriter out = response.getWriter(); String user = request.getParameter("user"); String pass = request.getParameter("pass"); HttpSession session = request.getSession(true); boolean check = authUser(user, pass, session); if (check){ /* 認証済みにセット */ session.setAttribute("login", "OK"); /* 認証成功後は必ずMonthViewサーブレットを呼びだす */ response.sendRedirect("/schedule/MonthView"); }else{ /* 認証に失敗したら、ログイン画面に戻す */ session.setAttribute("status", "Not Auth"); response.sendRedirect("/schedule/LoginPage"); } } protected boolean authUser(String user, String pass, HttpSession session){ if (user == null || user.length() == 0 || pass == null || pass.length() == 0){ return false; } try { String sql = "SELECT * FROM usertable WHERE user = ? && pass = ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, user); pstmt.setString(2, pass); ResultSet rs = pstmt.executeQuery(); if (rs.next()){ int userid = rs.getInt("id"); int roll = rs.getInt("roll"); String username = rs.getString("user"); session.setAttribute("userid", Integer.toString(userid)); session.setAttribute("roll", Integer.toString(roll)); session.setAttribute("username", username); return true; }else{ return false; } }catch (SQLException e){ log("SQLException:" + e.getMessage()); return false; } } }
( Written by Tatsuo Ikura )