- ServletContext, HttpSession, Cookie, HttpServletRequest 는 상태정보를 유지하기 위한 저장소 역할- 상태 정보를 유지하기 위해 정보를 등록할 때는 setAttribute(), 등록된 정보를 추출할 때는 getAttribute(), 등록된 정보를 삭제할 때는 removeAttribute() 메소드를 사용한다(쿠키 제외)- ServletContext는 서버 시작 시 생성되고 서버 종료 시 삭제되며 웹 애플리케이션 단위로 생성- ServletContext의 주요 기능은 서버 정보 추출, 로그 기록, 웹 애플리케이션 단위 정보 유지- Cookie는 텍스트 형태의 데이터를 클라이언트 측에 저장하는 상태정보 기술- HttpSession은 클라이언트 단위로 서버에 생성되..
-은 web.xml 에 서블릿에 대한 환경설정을 하는 태그-의 필수 하위 태그는 , -은 웹서버에 등록되는 서블릿의 이름을 지정-는 웹서버에 등록되는 서블릿 클래스명을 패키지명과 함께 지정-의 하위 태그인 은 서블릿으로 전달하는 변수를 지정-은 변수의 이름을 지정, 는 변수의 값을 지정-의 하위 태그인 은 서버 시작 시 서블릿 객체를 생성해주는 태그-ServletConfig는 web.xml에 설정된 서블릿의 설정 정보, 즉 내에 설정된 정보를 처리하는 객체로 서블릿 당 하나씩 생성됨-ServletConfig는 서블릿 최초 요청 시 생성되며 init() 메소드의 인자로 전달 됨-HttpServlet은 ServletConfig를 상속받기 때문에 HttpServlet을 통해서도 ServletConfig의 메소..
구분 멤버변수 지역변수 class 변수 instance 변수 선언 위치 클래스의 멤버로 선언 메소드 안에서 선언 선언 방법 static 선언 - - 사용 메모리 code 또는 method heap stack 생성 시점 프로그램 시작 시 객체 생성 시 메소드 실행 시 제거 시점 프로그램 종료 시 가비지 컬렉터에 의해 메소드 종료 시 - 자바의 변수는 크게 멤버변수와 지역변수로 구분- 멤버변수는 다시 class 변수와 instance 변수로 구분 1) class 변수- 클래스 변수는 static 키워드를 사용하여 클래스의 멤버로 선언된 변수- 코드 영역이나 메소드 영역에 프로그램 시작과 동시에 생성- 프로그램 종료될 때까지 존재하기 때문에, 프로그램 전반에 걸쳐 사용되는 데이터일 때 클래스 변수로 저장 2)..
-질의 문자열이란 클라이언트가 서버로 전달하는 문자열을 의미-질의 문자열은 name=value 형태로 전달, 여러 개 전달 시 & 구분자 사용-질의 문자열 값이 한글일 때는 % 기호와 함께 16진수로 변환하여 전달- 태그의 action 속성은 질의 문자열을 처리할 서버 프로그램 지정(현재 파일의 디렉터리를 기준으로 상대 경로 가능)- 태그의 method 는 서버 프로그램의 실행 요청방식을 지정-GET 방식은 질의 문자열을 요청정보 헤더의 URI에 ? 기호와 함께 추가되어 전달-GET 방식으로 전달된 질의 문자열들은 화면에 노출되며 크기에 제한이 있음-POST 방식으로 전달된 질의 문자열들은 요청정보 몸체에 포함되어 전달-POST 방식으로 전달된 질의 문자열들은 화면에 노출되지 않으며 크기에 제한이 없음-..
ServletInputStream input = req.getInputStream();int len = req.getContentLength();// 몸체 길이 byte[] buf = new byte[len];input.readLine(buf, 0, len);String s = new String(buf);System.out.println(s);out.print(s+" ");String id = req.getParameter("id"); // nullout.print("ID : " + id + " "); // getInputStream을 사용하기 전에 만약 getParameter를 사용하면// getParameter 함수에서 몸체에 있는 데이터를 다 읽어와버리기 때문에// 이 후에 getInputStre..
-HttpServletRequest는 서비스를 요청한 클라이언트의 요청정보를 처리하는 객체-HttpServletResponse는 웹서버가 클라이언트에 보내는 응답정보를 처리하는 객체-HttpServletRequest와 HttpServletResponse는 클라이언트로부터 서비스 요청이 있을 때마다 생성되며 웹서버가 응답한 후에 삭제-HttpServletRequest는 ServletRequest를 상속하고, HttpServletResponse는 ServletResponse를 상속-HttpServletResponse의 getWriter()는 클라이언트와 연결된 출력스트림을 생성하여 반환-HttpServletResponse의 setContentType()은 응답 데이터의 문서타입과 문자셋을 설정-한글 지원이 ..
1. Collection- 데이터를 그룹으로 처리할 수 있는 방법은 배열[배열의 제약 사항]1) 크기 변경 불가2) 하나의 데이터 타입만 저장 가능 - Collection 객체를 사용하면 이러한 제약사항에서 벗어나 데이터를 그룹으로 처리할 수 있음- Set, List, Map 등- 크기를 얼마든지 유동적으로 변경할 수 있으며,- 서로 다른 타입의 데이터를 저장할 수 있음 - Collection 객체 중 Enumeration, Iterator 는 그룹 안에 있는 요소에 접근할 때 인덱스, 키가 아닌 커서 개념으로 접근- 주로 모든 요소를 차례로 접근할 때 사용하면 편리하며, 속도 면에서도 빠름 2. Polymorphism(다형성)- 상속받고 있는 상위 객체 타입으로 하위 객체를 참조할 수 있음- Colle..
-웹서버의 자원을 접근하기 위한 URL은 [프로토콜 서버주소 포트번호 URI] 형식으로 나타낸다.-웹서버는 웹 애플리케이션 단위로 서비스하며 웹서버에서 웹 애플리케이션의 위치는 WAS_HOME/webapps 이다.-웹 애플리케이션 실행에 관한 환경설정 파일은 web.xml 이며 위치는 /WEB-INF이다.-웹 애플리케이션에서 실행되는 클래스 파일들은 /WEB-INF/classes 또는 /WEB-INF/lib 에 jar 형태로 있어야만 애플리케이션 서버들이 자동으로 인식한다.-서블릿은 웹 브라우저에서 요청하여 실행할 수 있는 자바 프로그램이다.-서블릿은 반드시 HttpServlet, GenericServlet, Servlet 중 하나를 상속받아야 한다.-서블릿은 서블릿 컨테이너가 실행하며 실행 순서가 정해..
-Java SE는 독자적으로 실행되는 애플리케이션 개발 플랫폼이다.-Java EE는 JSP, Servlet, 개발시 선택되는 플랫폼으로 SE와는 달리 실행 서버가 필요하다.-웹 서버는 웹 애플리케이션 단위로 서비스한다.-웹 서버는 웹 브라우저로부터 요청받고, 서버에서 처리된 결과를 응답하는 역할을 한다.-서블릿 컨테이너는 서블릿을, JSP 컨테이너는 JSP를 실행하는 서버다. -HTTP는 웹 브라우저와 웹 서버 간에 통신할 때 사용하는 프로토콜이다. 1)요청정보-HTTP 요청정보는 웹 브라우저에서 웹 서버로 전달되는 정보로서 서비스를 요청한 클라이언트에 관한 정보들을 담고 있으며 헤더와 몸체로 구성된다.-HTTP 요청정보 헤더의 첫 줄에는 요청방식, URI, HTTP 버전 정보가 있다.-웹 브라우저가 웹..
1. 트리의 탐색 - 이진 트리가 아닌 경우 인오더 방식의 순회는 어떤 자식을 루트로 잡아 줄지가 명확하지 않아 불가능- 트리의 탐색은 DFS/BFS 알고리즘을 이용해서 할 수 있음(어차피 그래프이기 때문)- 트리는 사이클이 없는 그래프이기 때문에- 임의의 두 정점 사이의 경로는 항상 1개이다.- 따라서, BFS 알고리즘을 이용해서 최단 거리를 구할 수 있다.- 이유 : 경로가 1개라 찾은 그 경로가 최단 경로 2. 문제- 트리의 부모 찾기(11725번)#include #include #include using namespace std; vector a[100001];int parent[100001];bool check[100001]; void bfs(int x) {queue q;q.push(x);che..