본문 바로가기

java/spring25

spring - 실습예제 회원가입 화면 만들어보기 정적리소스 -> webapp/resources의 경로에 저장 servlet-context.xml : web관련 설정파일root-context.xml : non-web관련 설정파일  get - head만 존재post - 헤드,바디 모두 존재 url 전송시 url인코딩을 한다 -> 브라우저에서는 보기좋게 변경해서 보여" method="post" onsubmit="return formCheck(this)"> Register 아이디 비밀번호 이름 이메일 생일 페이스북 카카오톡 인스타그램 회원 가입  역할1. context-root 추가2. sess.. 2024. 7. 5.
spring - @ModelAttribute @ModelAttribute적용 대상을 모델의 속성으로 자동 추가해주는 애너테이션반환타입 또는 컨트롤러 메서드의 매개변수에 적용 가능 key-value형태로 저장1. key를 직접 지정하지 않으면?→ 타입의 첫글자가 소문자인것으로 스프링내에서 알아서 지정한다(@ModelAttribute Mydate myDate, Model model) → model.addAttribute("myDate", myDate) : 같은 의미 2. 반환타입에 붙이면?→ 해당 이름으로 모델에 자동으로 객체 추가, 호출결과 저장 후 별도의 모델 호출 없이도 뷰에서 객체 사용 가능→ @ModelAttribute를 사용하면 model.addAttribute("myDate",myDate); 이렇게 할 필요 없다 참조형 매개변수에는 생략가.. 2024. 7. 5.
spring MVC 패턴 OOP 5대 설계원칙 - SOLIDSRP 단일책임 원칙 : 하나의 메서드는 하나의 책임만 지녀야 한다.OCP 개방폐쇄 원칙 : 확장에는 열려 있어야 하며 수정 변경에는 닫혀 있어야 한다.LSP 리스코프 치환 원칙 : 서브타입은 항상 기반타입으로 대체 될수 있어야 한다(바꿔도 이상없이 작동해야 한다) ISP 인터페이스 분리 원칙 : 필요한 인터페이스만 선언되어야 한다(불필요한 인터페이스 선언으로 의존성을 높이면 안된다)DIP 의존역전 원칙 : 상위 모듈은 하위 모듈에 직접적으로 의존해서는 안된다 (둘다 추상화에 의존해야 한다) 의미 자체는 대략적으로 알겠는데 아직 직접 겪어보지 못해서 그런가 확 와닿지는 않는다..결국에는 최대한 결합도를 낮춰서 서로 간에 의존성이 강해지면 안된다 이런 얘기 같은데 관심사 .. 2024. 7. 4.
spring - servlet HttpServletRequest브라우저 요청 -> 톰캣 내부에서 HttpServletRequest 객체를 만들고 결과를 메서드로 반환한다request 객체를 통해 요청정보에 대한 결과를 받음ex) http://192.168.0.1:8080/test/requestTest?request="req"&response="rep"여기서 각 부분을 나눠보면Scheme : http://ServerName : 192.168.0.1ServerPort : 8080ContextPath : /testServletPath : /requestTestQueryString : request="req"&response="rep" Request URI = /test/requestTest (ContextPath + ServletPath).. 2024. 7. 3.