1) 기타 개념
POJO 기반 프레임워크 : 외부 라이브러리 상속 X
class : 객체를 만들기 위한 설계도
-> 객체로 생성 되어야지 기능 수행이 가능하다
--> IOC(제어의 역전, 객체 생명주기를 스프링이 관리)를 이용하여 객체 생성
** 이 때, 스프링이 생성한 객체를 bean이라고 부른다 **
bean 등록 == 스프링이 객체로 만들어서 가지고 있어라
@Component : 생성된 bean이 Controller임을 명시 + bean 등록
@RequestMapping("/member") : local:8080/comm/member 이하의 요청을 처리하는 컨트롤러
ex) localhost:8080/comm/member
localhost:8080/comm/member/signUp
localhost:8080/comm/member/login
기타 등등.. member 이하 모두
2) 내용
public class MemberController {
private Logger logger = LoggerFactory.getLogger(MemberController.class);
@Autowired
private MemberService service;
@RequestMapping("/login")
public String login(HttpServletRequest req) {
logger.info("로그인 요청됨");
String inputEmail = req.getParameter("inputEmail");
String inputPw = req.getParameter("inputPw");
logger.debug("inputEmail : " + inputEmail);
logger.debug("inputPw : " + inputPw);
return "redirect:/";
}
@RequestMapping("/login")
public String login(@RequestParam("inputEmail") String inputEmail, @RequestParam("inputPw") String inputPw,
@RequestParam(value="inputName", required=false, defaultValue="홍길동") String inputName) {
logger.debug("email : " + inputEmail);
logger.debug("pw : " + inputPw);
logger.debug("name : " + inputName);
return "redirect:/";
}
@PostMapping("/login")
public String login(@ModelAttribute Member inputMemeber){
logger.info("로그인 기능 수행됨");
Memeber loginMember = service.login(inputMember);
return "redirect:/";
}
@GetMapping("/signUp")
public String signUp(){
return "member/signUp";
}
return 값에 따른 servlet-context.xml의 역할
⭐ Resolves views selected for rendering by @Controllers to .jsp resources in the
/WEB-INF/views directory
컨트롤러에서 jsp로 렌더링하는 것을 처리하는 부분이다
== 컨트롤러의 응답을 jsp로 보낼 때 어떻게 처리할 것인가?? 를 작성하는 부분
==> View Resolver : Controller에서 반환된 문자열 앞/뒤에 접두사(prefix), 접미사(suffix)를
추가하여 만들어진 경로의 jsp로 요청을 위임(forward)
/WEB-INF/views/member/signUp.jsp
단, 반환된 문자열의 시작이 redirect: 구문이면 재요청(redirect) 진행
redirect:/ 최상위로 재요청
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="edu.kh.comm" />