간단한 로그인 구현.
먼저 UserVo.java 생성
CREATE TABLE user (
id varchar(25) NOT NULL,
pw varchar(45) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
(데이터베이스에는 위와 같이 생성한다. 미리 id, pw를 적절히 넣어 두자.)
UserDao.java 를 만들어서, 추후에 myBatis(iBatis)에서 매핑된 쿼리의 결과를 객체로 저장(리스트가 아니기 대문에 queryForObject()를 사용하면 된다.)
User.xml을 만들어서 DB 쿼리 결과를 저장.
SqlMapConfig.xml에서 새로 추가한 User.xml 을 인식시켜준다.
로그인화면(login.jsp)에서 id, pw를 받는 폼을 간단히 만들어주고,
struts.xml에 login관련 Action을 매칭해준다.(LoginAction.java)
먼저 로그인 화면(loginUserAction.action)은 method=”form”을 써서 화면만 나타나게 해주고,(setter로 폼 데이터를 받아옴)
실제로 로그인을 처리할 loginAction.action에서는 SUCCESS, ERROR의 경우를 서로 다른 페이지로 보여주도록 설정했다.(getter로 폼 데이터를 받아올 수 있다.)
LoginAction의 form()에서는 화면만 뿌려주므로 별도의 처리가 필요 없고,
execute()가 실행될 loginAction.action에서 map 형태로 id를 받아와서 위에서 작성한 dao의 내용을 수행, DB에도 사용자를 찾아서 객체가 잘 만들어지면 로그인 성공을,
loginSuccess.jsp
아니면 실패를 보여주게 설정했다. 성공의 경우 SUCCESS가 리턴되고, 실패하면 ERROR가 리턴됨.
loginError.jsp
로그인화면 ( user/loginUserAction.action )
성공 시
실패 시