1. 리다이렉트 (redirect) - 서버는 클라이언트의 요청에 대해 특정 URL로 이동을 요청할 수 있음 클라이언트 - > 서버 -> 클라이언트 -> URL 주소 바뀜 -> 서버 (Request, Response 객체가 다시 생성됨) 1. 서버는 클라이언트에게 HTTP 상태코드 302로 응답함. 이때 헤더 내 Location 값에 이동할 URL을 추가함 (redirect02.jsp) 2. 클라이언트는 리다이렉션 응답을 받게 되면 헤더(Location)에 포함된 URL로 재요청을 보냄. 이때 브라우저의 주소창은 새 URL로 바뀜 - Servlet이나 JSP는 리다이렉트 하기 위해 HttpServletResponse 클래스의 sendRedirect() 메소드를 사용함 # redirect01.jsp # r..
1. JSP란? - JavaServer Pages - HTML 코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 애플리케이션 도구 - JSP는 실제로 Servlet 기술을 사용 - WAS는 JSP 코드를 Servlet 코드로 변환한 후 컴파일하여 실행함 - 가장 상단의 태그에서 JSP 파일이 어떻게 구성되어 있는지 정보를 알려줌
1. DOM과 querySelector DOM (Document Object Model) - 브라우저에서는 HTML 코드를 DOM이라는 객체 형태의 모델로 저장함 - 그렇게 저장된 정보를 DOM Tree라고 함 - 복잡한 DOM Tree를 탐색하기 위해, 브라우저에서는 DOM API를 제공함 getElementById() - ID정보를 통해서 해당 Element를 찾음 ex) document.getElementById("nav-cart-count").innerText = "-1"; querySelector() - DOM을 찾는 메소드. 첫번째 Element를 찾음 ex) document.querySelector("div"); -> 첫번째 div를 찾음 ex) document.querySelector("..
1. 문제 링크 https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하 www.acmicpc.net 2. 접근법 1. 변수 선언 - Piece[] pieces: 말들의 정보 저장 - int[][] color: 보드 색상 저장 - ArrayList[][] board: 보드 위 말들의 idx 저장 2. 1번부터 k번 말까지 각 말의 방향에 따라 이동할 위치를 찾고 해당 위치의 color[][] 값에 따라 움직이기 2.1. 이동 시, 말들을 쌓을 때 ArrayList tempPie..
1. 문제 링크 https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 www.acmicpc.net 2. 접근법 1. 4개의 기준점 구하기 1.1. board의 모든 점을 순회하며 기준점(x, y)을 잡는다. 1.2. 기준점을 기준으로 범위를 넘어가지 않는 d1, d2 값을 설정해 나머지 3개의 기준점을 잡는다. 1.3. 4개의 기준점은 point[][]에 저장 2. 구한 4개의 기준점을 기준으로 경계선 여부를 isBorder[][]에 저장 3. 각 선거구의 인구수 구하기 3.1. ..
자바 웹 애플리케이션 - WAS에 설치(deploy)되어 동작하는 애플리케이션 - HTML, CSS, 이미지, 자바로 작성된 클래스(Servlet, package, interface 등), 각종 설정 파일 등이 포함됨 자바 웹 애플리케이션의 폴더 구조 자바 웹 애플리케이션 WEB-INF 폴더 web.xml 파일 (웹 애플리케이션에 대한 정보를 모두 담고 있음) lib 폴더 (각종 jar 파일들) classes 폴더 (java 패키지, servlet 클래스 등) 리소스들 각종 폴더, 이미지, 다양한 리소스들 Servlet이란? - 자바 웹 애플리케이션의 구성요소 중 동적인 처리를 하는 프로그램의 역할 - WAS에서 동작하는 Java 클래스 - 서블릿은 HttpServlet 클래스를 상속 받아야 함 - 서블..
1. CSS 선언 방법 inline > internal > external inline - body 태그 안에 넣기 - 우선순위가 가장 높음 Hello World internal - head 태그 안에 넣기 - 별도의 CSS 파일을 관리하지 않아도 됨 Hello World external - 외부파일(.css)로 지정하기 span { color : red; } Hello World 2. 상속과 우선순위 결정 - id > class > tag 순서로 우선순위를 가짐 - width, height, margin, padding, border - 위와 같이 크기와 배치 관련된 속성들은 하위 엘리먼트로 상속되지 않음 cascading - CSS는 여러가지 스타일 정보를 기반으로 최종적으로 '경쟁'에 의해 적절한 ..
1. 웹의 동작 (HTTP 프로토콜 이해) HTTP - 인터넷 중 웹에서는 HTTP 프로토콜을 사용 - 인터넷상에서 서버와 클라이언트가 데이터를 주고받기 위한 프로토콜 - 어떠한 종류의 데이터도 전송할 수 있음 - 클라이언트가 서버에게 요청, 서버가 클라이언트에게 응답 - 무상태 프로토콜, Stateless - 장점: 불특정 다수를 대상으로 하는 서비스에 적합. 클라이언트와 서버가 계속 연결된 형태가 아니기에 요청과 응답을 훨씬 더 처리할 수 있음 - 단점: 응답 후 연결을 끊어버리기에 클라이언트의 이전 상황을 알 수가 없음. 정보를 유지하기 위에 Cookie와 같은 기술 등장 URL - Uniform Resource Locator - 인터넷 상 자원의 위치 - https://www.ssoyeong.ti..