본문 바로가기

전체 글147

로그인 로그인 - 쿠키, 세션 domain은 web을 참조하면 안된다. // LoginService MemberRepository주입 public Member login(String loginId, String password) { return memberRepository.findByLoginId(loginId) .filter(m -> m.getPassword().equals(password)) .orElse(null); } //LoginController - login() Member loginMember = loginService.login(form.getLoginId(),form.getPassword()); if (loginMember == null) { bindingResult.reject("login.. 2022. 6. 18.
검증 검증-Validation 컨트롤러의 역할: HTTP 요청이 정상인지 검증 정상: PRG 직접 개발 //Map Map errors = new HashMap(); // errors.put("itemName", "상품 이름은 필수입니다."); !errors.isEmpty()-> 모델에 담고 다시 입력 폼으로 th:if="${errors?.containsKey('globalError')}" th:text="${errors['globalError']}" th:classappend="${errors?.containsKey('itemName')} ? 'field-error' : _" th:if="${errors?.containsKey('itemName&.. 2022. 6. 17.
8080 포트 죽이기 netstat -a -o taskkill /f /pid PID번호 taskkill /f /pid 4380 2022. 6. 16.
타임리프 타임리프 순수 HTML 그대로 유지,뷰 템플릿 사용=> 네츄럴 템플릿 텍스트 model.addAttribute("data", "Hello Spring!"); [[${data}]] //직접 기본적으로 이스케이프 제공: th:text, [[...]] 이스케이프x: th:utext, [(...)] 변수 - SpringEL model.addAttribute("user", userA); model.addAttribute("users", list); model.addAttribute("userMap", map); th:text="${user.username}" th:text="${users[0].username}" th:text="${userMap['userA'].username}" //지역변수 th:with="f.. 2022. 6. 16.
[스프링] 스프링 MVC 스프링 MVC - 구조 핸들러 조회 핸들러 어댑터 조회 핸들러 어댑터 실행 핸들러 실행 ModeelAndView 반환 viewResolver 호출 View반환 render 호출 핸들러 매핑과 핸들러 어댑터 HandlerMapping(ex.스프링 빈의 이름으로 핸들러를 찾을 수 있는 핸들러 매핑) RequestMappingHandlerMapping HandlerAdapter(핸들러를 실행할 수 있는 핸들러 어댑터 필요) RequestMappingHandlerAdapter 뷰 리졸버 return new ModelAndView("new-form"); BeanNameViewResolver: 빈 이름으로 뷰를 찾아서 반환 InternalResourceViewResolver: JSP 처리할 수 있는 뷰 반환 스프링.. 2022. 6. 9.
[스프링] MVC 프레임워크 MVC 프레임워크 프론트 컨트롤러 패턴 특징 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청 받음 프론트 컨트롤러가 요청에 맞는 컨트롤러 찾아 호출 공통 처리 프론트 컨트롤러 제외한 나머지 컨트롤러 서블릿 사용x 프론트 컨트롤러 도입1 컨트롤러 인터페이스-> - 회원 등록 컨트롤러, 회원 저장 컨트롤러, 회원 목록 컨트롤러void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; 프론트 컨트롤러 @WebServlet(name = "frontControllerServletV1", urlPatterns = "/front-controller/v1/*") public class.. 2022. 6. 9.