Back-end/Spring-핵심& webMVC 25

QueryString, request.getParameter, request.getParameterValues

1. Query String : 입력 데이터를 전달하는 방법 중 하나로 URL 주소에 데이터를 파라미터를 통해 넘기는 것을 말한다. 형식은 앤드포인트 주소 이후에?를 쓰면서 쿼리 스트링의 시작하며 뒤에는 key=value형식으로 따라붙는다. 파라미터가 여러 개일 경우 & 붙여서 복수의 파라미터를 넘길 수 있다. 2.request.getParameter : ServletRequest 인터페이스 중 하나의 메소드로 공식 문서에 따르면 "For HTTP servlets, parameters are contained in the query string or posted form data." 파라미터를 꺼내 쓸 수 있는 경우는 Querystring, post방식으로 전해진 data 두 가지 경우이다. 만약 파라미..

@ModelAttribute의 쓰임과 Model, ModelMap, ModelAndView

1. @ModelAttribute를 이용한 커맨드 객체 이름 지정 아래와 같이 ModelAttribute를 이용해서 클래스 이름을 변경해서 뷰 코드에서 사용할 때 이용가능하다. view 단에서 접근 할 때 $(memberInfo.name)이렇게 접근하면 된다. @RequestMapping(method = RequestMethod.POST) public String regist( @ModelAttribute("memberInfo") MemberRegistRequest memRegReq, BindingResult bindingResult) { new MemberRegistValidator().validate(memRegReq, bindingResult); if (bindingResult.hasErrors()..

ch5. 컴포넌트 스캔(#스프링5 프로그래밍 입문-최범균 저)

ch4. 의존 자동 주입과 함께 사용하는 추가 기능이 컴포넌트 스캔이다. 컴포넌트 스캔은 스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능이다. 따라서 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있다. 1. @Component애노테이션 1) 설정 방식 @Component애노테이션은 클래스 위에 적용하고 XML방식으로 설정할 경우 태그를 이용해서 스프링이 클래스를 검색할 패키지를 지정하면 된다. 태그를 추가하면 @Component애노테이션 또는 하위 애노테이션이 적용된 클래스를 검색하여 빈으로 등록하게 된다. 만약 자바 코드 설정을 사용한다면 @ComponentScan(basePackages="~~~")를 이용해주면 된다. 2) 애노테이션 종류 @Service @Repos..

ch4. 의존자동주입(#스프링5 프로그래밍 입문-최범균 저)

1. 설정 클래스에서 빈의 모습(직접 의존 주입했을 경우와 하지 않았을 경우) 설정 클래스에 빈으로만 등록해주고 의존 주입을 직접 set이나 생성자로 해주지 않아도 @Autowired를 통해 자동 의존 주입을 가능하게 할 수 있다. ※Component-scan 기능을 통해 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록할 수 있다. @Configuration public class AppCtx { @Bean public MemberDao memberDao() { return new MemberDao(); } @Bean public MemberRegisterService memberRegSvc() { return new MemberRegisterService(); } //자동 주입 기능을..

JSP 태그 라이브러리

스프링 MVC는 , 등 HTML 폼과 커맨드 객체를 연동하기 위한 JSP 태그 라이브러리를 제공한다. 1. -> id대신 modelAttribute 지정하면 커맨드 객체 이름 설정할 수 있다. 예를 들어 modelAttibute = "loginCommand"라는 커맨드 객체와 연결해주고 여기서 이메일, 비밀번호 꺼내와서 authInfo라는 커맨드 객체에 다시 값을 넣어준 뒤 세션을 만드는 컨트롤러를 보자. @PostMapping public String submit( LoginCommand loginCommand, Errors errors, HttpSession session, HttpServletResponse response) { new LoginCommandValidator().validate(lo..