Web/Spring 7

[Spring] Ch02.Spring MVC (23) 쿠키(Cookie)란 ~ (26) 세션(Session) - 실습 (2)

쿠키 Cookie정적 리소스 파일 위치webapp > resources 폴더 내ex. css 파일Cookie ⭕ 암기정의클라이언트 식별 기술. 신분증특징Map 쌍으로 구성된 작은 정보쿠키의 이름은 알파벳과 숫자만 이용. 아스키 문자만 저장 가능 (URLEncoder.encode())혹은 암호화해야함. 신용 때문.값은 공백과 세미콜론을 제외한 아스키 가능한글은 URL인코딩/디코딩 필요쿠키 가져올 때 값 없으면 null 반환장점누구인지 매번 알려주지 않아도됨. 원리서버가 쿠키를 만들고 클라이언트에게 전송.응답 헤더에 쿠키 추가클라이언트가 쿠키를 브라우저에 저장 유효기간 지나면 자동 삭제서버에 요청 시 domain, path (하위 경로 포함✅ 예시.)가 일치하는 경우에만 쿠키 정보 가 요청 헤더에 자동으..

Web/Spring 2025.06.08

[Spring] Ch02.Spring MVC (19) 회원가입 화면 작성하기, (20)@GetMapping, @PostMapping (22) redirect와 forwarding

회원가입 화면 작성하기 url 경로에서 resources 없애는 법location에서 /로 바꾸면 됨.servlet-context.xml (웹 관련 설정 파일)root-context.xml (non-web 설정 파일) method="GET/POST"default = GET쿼리 스트링으로 사용자 입력값 전달됨action="전송할 url"default = 자기 자신🟡 TIP 개발자 도구 Source보기로 변경되었는지 확인 쿼리 스트링의 이름(name)에 여러 값이 넘어오는 경우?sns=facebook&sns=kakaotalk&sns=instagramString[] 배열로 요청 결과를 받음String[] snsArr = request.getParameterValues("sns"); EL ${paramVa..

Web/Spring 2025.06.08

[Spring] Ch02.Spring MVC (17) @RequestParam과 @ModelAttribute

@RequestParam @RequestParam 정의서버에 요청할 파라미터를 매개변수에 붙여 연결해주는 애너테이션표현메서드명(@RequestParam(name=”변수명” required=bool값) 타입 매개변수명)required 매개변수 필수 입력 여부필요할 때 명시적으로 작성URL에 매개변수명 작성 O & 값 작성 X : “” 빈문자열 저장URL에 매개변수명 작성 X ⭕ 비교true 필수 : 필수입력의 파라미터 없으면 에러 발생 null (400 Bad Request)예외처리 해야함 (사용자의 올바른 값 입력 유도) Required request parameter 'year' for method parameter type String is not presentfalse 선택 : null 저장 → 에..

Web/Spring 2025.06.01

[Spring] Ch02.Spring MVC (13) 서블릿과 JSP(1) ~(16) 서블릿과 JSP(4)

서블릿, JSP, Spring관계JSP ≒ 서블릿Spring = 서블릿 발전시킨 것. early-init서블릿을 이용해 동작한다.@WebServlet@Controller + @RequestMapping조건HttpServlet 상속service() (= main()) - 오버라이딩메서드 매개변수 2개 - HttpServlet Request, HttpServletResponse@Controller가 개선한 것.상속 안해도 됨 (단일 상속 고려)필요한 매개변수만 정의url 매핑 시 메서드 단위 (클래스 정의 안해도 됨)서블릿 메서드 -3init() 서블릿 생성 시 서블릿 초기화1번만 호출됨.service() 실제 작업 처리요청이 올 때마다 반복적으로 호출destroy() 뒷정리 - 서블릿이 메모리에서 제거될 ..

Web/Spring 2025.06.01

[Spring] Ch02.Spring MVC (9) 관심사의 분리와 MVC 패턴 이론 ~ (12) 관심사의 분리와 MVC 패턴 - 원리②

관심사의 분리, MVC 패턴 -이론Spring MVCMVC 패턴 중 하나MVC 분리 중 하나임SOLID ⭕ 암기. 면접OOP 5대 설계 원칙 - 3개가 분리, 1개 다형성S 단일 책임 원칙1 책임(= 관심사) : 1 메서드SRP Single Responsibity Principle단일 책임 원칙에 의해 ✅을 쪼개 놓은 것O OCP - Open & Close Principle상속 OK, 변경 X - 템플릿을 상속해서 완성하는 건 좋은데 템플릿 변경하지마.템플릿은 여러 사람들이 쓰는 공통적인 것이기 때문L 다형성 (추후 정리)ID 설계그룹화 (= 분리 )(그룹 간)관계 맺어주기 ( 구조화 ) = 시스템, SW 구조화통으로 두는 것, 쪼개는 것 등 → 변경에 유리한 구조가 좋음Solid 원칙분리 대상 - 3 ..

Web/Spring 2025.06.01

[Spring] Ch02. Spring MVC - (1) 원격 프로그램 (2) HTTP 요청과 응답(3) 클라이언트와 서버 (4) 텍스트와 바이너리, MIME, Base64

원격 프로그램 실행로컬 프로그램java Main자바 인터프리터(java.exe)가 main() 호출static 메서드이므로 객체 생성없이 호출 가능원격 프로그램⭕정의다른 컴퓨터의 프로그램을 실행하는 것. (클래스)특징보안 중요장점저장공간 문제 해결 - 내 컴퓨터에 프로그램 설치 필요 없음.프로그램 업데이트 문제사용방법 ( 서버의 프로그램 실행방법)원격 호출 가능한 프로그램으로 등록 (= 허용된 프로그램만 외부에서 호출할 수 있게)URL과 프로그램을 연결메서드 이름이 중요하지 않음애너테이션이 중요url과 연결된 메서드를 호출프로그램 호출프로그램 (클래스)등록@Controller 애노테이션을 클래스 앞에 붙임@Controllerpublic class Hello {...} URL과 프로그램 연결호출하려는 메서..

Web/Spring 2025.05.25

[Spring] Ch01. Spring 시작하기

Spring Framework 역사Servlet ⇒ JSP ⇒ Spring ⇒ Spring Boot applet 작은 Application ( 1995)브라우저에서 자동으로 작은 프로그램을 다운 받아 브라우저에서 프로그램을 실행하는 것let 작다Flash 탄생으로 지지부진EJB (1999) EnterpriseCGI 멀티 스레드 불가. 요청이 올 때마다 프로세스 생성. 사용자 요청 처리 어려움→ Java Servlet 멀티 스레드 지원Servlet가 JSP로 발전 ( 같다)대기업은 사용자가 많음. EJB 복잡Spring (2004)웹 폭발적 성장 시기 → 웹사이트 수가 증가 → 유지 보수 문제 → Framework 탄생Framework 장점유지보수생산성 높음Spring Boot (2014)Spring 경량..

Web/Spring 2025.05.25