- 2019/10/16 Spring 로그인 폼2019년 10월 16일
- 조별하
- 작성자
- 2019.10.16.:42
Login
1.loginForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>login/loginForm.jsp</title> </head> <body> <form method="post" action="login.do"> <table border=1> <tr> <td colspan=2 align=center>* 로그인 *</td> </tr> <tr> <td>아이디</td> <td><input type="text" name="id" size=20></td> </tr> <tr> <td>비밀번호</td> <td><input type="password" name="pw" size=20></td> </tr> <tr> <td colspan=2 align=center> <input type="submit" value="확인"> <input type="reset" value="취소"> </td> </tr> </table> </form> </body> </html>
▲ 로그인 화면을 구현하는 loginForm 을 만들고 method 는 post 방식, action 은 login.do 로 취했다.
2. LoginVO
"VO" 라고 하면 지금까지 DTO,DAO를 사용하던 나에게는 무척 생소하다
LoginVO 라고 하는것은 Login 관련 DTO 와 같은 역할을 하는 것이다. 그렇기 때문에 전까지 만들어온 DTO와 같은 방법으로 만들어 주면 된다.package kr.co.basicspring.test03; public class LoginVO { // Value Object // DTO 클래스 private String id; private String pw; public LoginVO() {} public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPw() { return pw; } public void setPw(String pw) { this.pw = pw; } @Override public String toString() { return "LoginVO [id=" + id + ", pw=" + pw + "]"; } }
※ 자세한 내용은 Srpring에 "DTO 와 VO 차이점" 게시글을 읽어보자
https://geminihoroscope.tistory.com/66
3. LoginCont
asd//사용자가 요청한 정보를 가져와서 처리하는 다양한 방법
//1)
@RequestMapping(value="login.do",method=RequestMethod.POST)
public ModelAndView loginProc(HttpServletRequest req) {
String id=req.getParameter("id");
String pw=req.getParameter("pw");
}//loginProc() end
//2)
@RequestMapping(value="login.do",method=RequestMethod.POST)
public ModelAndView loginProc(@RequestParam("id") String id,
@RequestParam("pw") String pw) {
}//loginProc() end
//3)
@RequestMapping(value="login.do",method=RequestMethod.POST)
public ModelAndView loginProc( String id,String pw) {
}//loginProc() end
//4)DTO(VO) 객체가 오면 반드시 getter, setter 함수가 있어야 한다
@RequestMapping(value="login.do",method=RequestMethod.POST)
public ModelAndView loginProc(LoginVO vo) {
}//loginProc() end▲ 이전 게시물에서 배웠던 저 4가지의 처리방법 말고 한꺼번에 처리하는 방식도 존재한다
요청한 정보 동시 처리 방식
package kr.co.basicspring.test03; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; @Controller //URL에서 요청한 명령어를 처리하는 클래스 //<-스프링컨테이너(서버)에 의해서 자동으로 객체 생성된다. public class LoginCont { public LoginCont() { System.out.println("-------------------------------LoginCont() 객체생성됨"); }//LoginCont end //결과확인 //http://localhost:8090/basicspring/login.do @RequestMapping(value="login.do",method=RequestMethod.GET) public String loginForm() { // /WEB-INF/views/login/loginForm.jsp return "login/loginForm"; }//loginForm() end @RequestMapping(value="login.do",method=RequestMethod.POST) public ModelAndView loginProc(LoginVO vo,HttpServletRequest req,HttpSession session){ String id=vo.getId(); String pw=vo.getPw(); ModelAndView mav=new ModelAndView(); if(id.equals("겨울밤")&&pw.equals("1234")) { //로그인 성공 mav.setViewName("login/loginResult"); session.setAttribute("s_id", id); session.setAttribute("s_pw", pw); req.setAttribute("msg", "로그인이 되었다~~~~!!!"); }else { //로그인 실패 mav.setViewName("login/msgView"); mav.addObject("msg", "<p>아이디와 비번이 일치하지 않습니다.</p>"); mav.addObject("link","<a href='javascript:history.back()'>[다시시도]</a>"); } return mav; }//loginProc() end }
▲ 30 line 함수 매개변수를 (LoginVO vo,HttpServletRequest req,HttpSession session) 한꺼번에 올리는 것이 가능하다
ModelAndView 로 이동할 페이지 loginResult 와 msgView 를 만들어 이동을 하자'JAVA 교육 > Spring' 카테고리의 다른 글
2019/10/16 Ajax 사용법 (0) 2019.10.16 2019/10/16 Maven 라이브러리 다운 방법 (0) 2019.10.16 DTO 와 VO 의 차이점 (0) 2019.10.16 2019/10/15 Spring 요청 명령어 를 받는 다양한 방식 & Filter(필터) (0) 2019.10.15 2019/10/15 Spring 프로젝트생성 및 환경구축 (사칙연산 test) (0) 2019.10.15 다음글이전글이전 글이 없습니다.댓글