기록해! 정리해!

어노테이션 기반 MVC 개발 - @ModelAttribute 사용 본문

Spring

어노테이션 기반 MVC 개발 - @ModelAttribute 사용

zsuling 2022. 9. 26. 14:40
package com.springbook.view;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.springbook.biz.user.UserVo;
import com.springbook.biz.user.impl.UserDao3;

@Controller
public class LoginController {
	@RequestMapping(value="/login.do", method=RequestMethod.GET)
	public String loginView(@ModelAttribute("user") UserVo vo,  HttpSession session ) {
		System.out.println("로그인 화면으로 이동"); 	
				  		
		vo.setId("test");
		vo.setPassword("test123");
		
		/*
		session.setAttribute("id", "test");
		session.setAttribute("password", "test123");
		*/
		
		return"login.jsp" ;
		  	 
	}
	
	@RequestMapping(value="/login.do", method=RequestMethod.POST)
	public String login(UserVo vo, UserDao3 service ) {
		System.out.println("로그인 처리"); 		 		     
		  
		   if(service.getUser(vo) != null){
			  return "getBoardList.do" ;
		   }else{
			  return"login.jsp" ;
		   }		 
	}


	@RequestMapping(value="/logout.do")
	public String logout( HttpSession session) {
		
		 System.out.println("로그아웃 처리");		 
		 session.invalidate();		 
				 
		return "login.jsp";
	}

}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<div align="center">
<br><br>
<h1> 로그인 </h1>
<hr />

<form action=login.do  method=post>
  <table border=1>
  <tr><td>아이디 </td>  <td>
  <input type="text"  name="id"  value="${user.id}" >   </td></tr> 
  <tr><td>비밀번호 </td>  <td>
  <input type="text"  name="password" value="${user.password}" > </td></tr> 
  <tr><td colspan=2  align="center">
    <input type="submit"  value="로그인" > 
  
   </td></tr> 
  </table>

</form>

<hr />
</div>
</body>
</html>
Comments