羞恥ログインフォームべた書きバージョン
今日は定番のログインを作ってみた。
実は載せようか載せまいか風呂に入りながら考えた。
そもそも精度が余りに低すぎる。
ってかむしろ恥ずかしい。
僕の尊敬する先輩に「羞恥をさらして、一人前になる」と教えてもらっている。
さて勇気を振り絞っていけ俺!!
いたって普通。
ただ注目は英語のみ!!
ここがなんかdamePGっぽい。
でログイン成功するとこんなかんじ
もうなんかめっちゃ付け焼刃的な!!!
package presence; import java.io.IOException; import java.sql.Connection; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { LoginParam lp = new LoginParam(); lp.setUserId(req.getParameter("userId")); lp.setPass(req.getParameter("pass")); Connection con = ConnectionUtil.getConnection(); UserInfo ui = new UserInfo(con); UserInfo result = ui.findPass(req.getParameter("userId")); if (ui.isCheck(result, lp)) { req.getRequestDispatcher("/success.jsp").forward(req, resp); } else { req.getRequestDispatcher("/login.jsp").forward(req, resp); } } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // TODO Auto-generated method stub super.doPost(req, resp); } }
package presence; public class LoginParam { private String userId; private String pass; public LoginParam() { } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } }
package presence; import java.io.Serializable; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; public class UserInfo implements Serializable { private Connection con; private String name; private String userId; private String userPass; public UserInfo(Connection con) { this.con = con; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } public String getUserPass() { return userPass; } public void setUserPass(String userPass) { this.userPass = userPass; } public UserInfo findPass(String userId) { try { Statement st = con.createStatement(); ResultSet rs = st.executeQuery("SELECT USERID,PASS FROM USER WHERE USERID='" + userId + "';"); UserInfo lb = new UserInfo(con); rs.next(); lb.setUserId(rs.getString("USERID")); lb.setUserPass(rs.getString("PASS")); return lb; } catch (Exception e) { throw new IllegalStateException(e); } } public boolean isCheck(UserInfo lb, LoginParam lp) { if (isNullCheck(lb)) { if (judgeIdPass(lb, lp)) { return true; }else { return false; } } else { return false; } } private boolean isNullCheck (UserInfo lb) { return lb.getUserId() != null && lb.getUserPass() != null; } private boolean judgeIdPass(UserInfo lb, LoginParam lp) { return lb.getUserId().equals(lp.getUserId()) && lb.getUserPass().equals(lp.getPass()); } }
package presence; import java.sql.Connection; import java.sql.DriverManager; public class ConnectionUtil { public static Connection getConnection() { try { Class.forName("org.gjt.mm.mysql.Driver"); Connection con = DriverManager.getConnection( "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=SJIS", "root", "mysql"); return con; } catch (Exception e) { throw new IllegalStateException(e); } } public static void close(Connection con) { try { con.close(); } catch (Exception e) { throw new IllegalStateException(e); } } }
<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Login</title> </head> <body> <h1>ログイン認証</h1> <hr> English Only!! <form action="LoginController"> ユーザーID<input type="text" maxlength="20" name="userId"><br> パスワード<input type="password" maxlength="20" name="pass"> <input type="submit" value="送信"> </form> </body> </html>
しかもこのログインフォーム、なんと
新規登録できない。
明日先輩が手が空いてたらレビューしていただいて、
恒例の「改」版でまたやります。