코딩하는 문과생
[Spring] 3. 스프링 기본(2)-브라우저에서 DAO까지 본문
[프로젝트 준비]
1. views와 resources업로드
2. preference-> web-> JSP파일-> utf-8로 수정
3. index.jsp생성하고
<body>
<script type="text/javascript">
location.href = "main.do";
</script>
</body>
4. homeController 수정
package com.sinc.intern;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
@RequestMapping("/main.do")
public String home() {
System.out.println("Ctrl main");
return "home";
}
}
[UserCtrl 수정]
package com.sinc.intern.user.ctrl;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.sinc.intern.user.model.vo.UserDTO;
@Controller
public class UserCtrl {
@RequestMapping("/loginForm.do")
public String loginForm() {
System.out.println("user loginForm");
return "user/login";
}
@RequestMapping(value="/login.do", method=RequestMethod.POST)
public String login(UserDTO dto) {
System.out.println("user login dto : " + dto);
return null;
}
}
[UserService 인터페이스 생성]
package com.sinc.intern.user.service;
public interface UserService {
public Object login(Object obj);
}
[UserServiceImpl생성]
package com.sinc.intern.user.service;
import org.springframework.stereotype.Service;
//프레임워크에 위임시킨다.
@Service("userS")
public class UserServiceImpl implements UserService{
@Override
public Object login(Object obj) {
// TODO Auto-generated method stub
return null;
}
}
[UserCtrl]
package com.sinc.intern.user.ctrl;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.sinc.intern.user.model.vo.UserDTO;
import com.sinc.intern.user.service.UserService;
@Controller
public class UserCtrl {
//의존성 주입(DI), 해당 이름의 객체를 여기 변수에 넣어주세요.
@Resource(name="userS")
private UserService service;
@RequestMapping("/loginForm.do")
public String loginForm() {
System.out.println("user loginForm");
return "user/login";
}
@RequestMapping(value="/login.do", method=RequestMethod.POST)
public String login(UserDTO dto, HttpSession session) { //단순 데이터라면 session이 아닌 Model model을 이용하면 된다.
System.out.println("user login dto : " + dto);
Object user = service.login(dto);
if(user != null) {
//model.addAttribute("loginSession", user);
//데이터 유효시간이 request되는 페이지에만 유효하다.
session.setAttribute("loginUser", user);
}
return null;
}
}
[UserDao 인터페이스]
package com.sinc.intern.user.model.sql;
public interface UserDao {
public Object loginRow(Object obj);
}
[UserDaoImpl]
package com.sinc.intern.user.model.sql;
import org.springframework.stereotype.Repository;
//DB와 연동시킨다.
//매개변수가 없어도 되지만, 넣어주는 게 좋다.
@Repository("userD")
public class UserDaoImpl implements UserDao{
@Override
public Object loginRow(Object obj) {
// TODO Auto-generated method stub
return null;
}
}
[UserServiceImpl 수정]
//프레임워크에 위임시킨다.
@Service("userS")
public class UserServiceImpl implements UserService{
//이름이 userD인 객체를 생성해서 dao에 넣는다.
@Resource(name="userD")
private UserDao dao;
@Override
public Object login(Object obj) {
System.out.println("user service login : " + obj);
return dao.loginRow(obj);
}
}
[UserDaoImpl 수정]
package com.sinc.intern.user.model.sql;
import org.springframework.stereotype.Repository;
//DB와 연동시킨다.
//매개변수가 없어도 되지만, 넣어주는 게 좋다.
@Repository("userD")
public class UserDaoImpl implements UserDao{
@Override
public Object loginRow(Object obj) {
System.out.println("user dao loginRow : " + obj);
return null;
}
}
[header.jsp]
<!-- sing in add -->
<c:if test="${loginUser == null }">
<li>
<a href="/loginForm.do">
<i class="fa fa-sign-in" aria-hidden="true"></i>
</a>
</li>
</c:if>
[login.jsp]
<form action="login.do" method="post">
<div class="form-group has-feedback">
<input type="text" name="id" class="form-control" placeholder="USER ID"/>
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" name="pwd" class="form-control" placeholder="Password"/>
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox" name="useCookie"> Remember Me
</label>
</div>
</div><!-- /.col -->
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
</div><!-- /.col -->
</div>
</form>
'웹 프로그래밍 > Spring' 카테고리의 다른 글
[Spring] 6. 스프링 기본(5) - 게시판 (CRUD) (0) | 2020.02.06 |
---|---|
[Spring] 5. 스프링 기본(4) - DB에 컬럼추가하기 (0) | 2020.02.06 |
[Spring] 4. 스프링 기본(3) - DAO에서 MyBatis를 이용해 DB접근 (0) | 2020.02.04 |
[Spring] 2. 스프링 기본 - View와 Controller (0) | 2020.02.04 |
[Spring] 1. 환경설정 (0) | 2020.02.03 |