羞恥ログインフォームべた書きバージョン

今日は定番のログインを作ってみた。
実は載せようか載せまいか風呂に入りながら考えた。


そもそも精度が余りに低すぎる。
ってかむしろ恥ずかしい。


僕の尊敬する先輩に「羞恥をさらして、一人前になる」と教えてもらっている。

さて勇気を振り絞っていけ俺!!

今日のおかずはこんな感じです。
20090414233313

いたって普通。
ただ注目は英語のみ!!

ここがなんかdamePGっぽい。
でログイン成功するとこんなかんじ
20090414233314

もうなんかめっちゃ付け焼刃的な!!!

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>

しかもこのログインフォーム、なんと
新規登録できない。
明日先輩が手が空いてたらレビューしていただいて、

恒例の「改」版でまたやります。