목록Study (184)
Hayden's Archive
페이지 이동을 네비게이션이라고 함. Web 페이지 이동 1. Forwarding(포워딩. 앞으로 간다. 제일 많이 씀. 거의 90%) 2. Redirect Forwarding 방식 - 요청하고 응답하고, 요청하고 응답하면 첫번째 요청이랑 두번째 요청이 전혀 관련 없는 남남. 이걸 Stateless한 protocol라고 함. - 원래는 요청 2번, 응답 2번 해야 하는 것을 요청 1번, 응답 1번으로 줄일 수 있음. - 포워딩을 하게 되면 응답하지 않고 서버상에서 다이렉트로 이동함. - 그렇게 되면 클라이언트로부터 받은 폼값을 그대로 가져가게 됨. ServletRequest에 저장한 객체도 없어지지 않고 JSP로 넘어가서도 쓸 수 있음. 그리고 나서 응답하면 죽으니까 메모리 효율성 뛰어남. 이 경우에는 H..
Attribute : 서버상에서 데이터(개체)를 보관하는 저장소. -보관할 때 Binding : setAttribute(" ", object) //키는 String으로 밸류는 객체로 들어감. -찾아올 때 Look-up : getAttribute(" ") //키로 찾아옴. Attribute 총 3가지가 있음. -> 용도에 따라 적절하게 사용해야 함. : 모두 setAttribute(), getAttribute가 있음. : 동일한 메소드가 서로 다른 객체에 있을 때는 이름, 기능이 똑같더라도 뭔가 다른 점이 있음. : 데이터가 보관되는 scope가 다름. 데이터가 저장되는 유통기한이 다름. - ① ServletRequest : WAS 가동하자마자 만들어짐. 서버 꺼지기 전까지 저장함. 모든 서블릿들이 공유할..
- 요청을 하면 폼값을 받고, 응답을 하면 페이지를 돌려줘야 하는데 이 때 영어는 깨지지 않지만 한글은 깨짐. - 따라서 양방향 한글 인코딩 처리가 필요하다. - 한글 처리부터 하고 폼값 받아와야 하고, 한글 처리부터 하고 응답해야 한다. - 따라서 service() 메소드에 다음 코드를 포함시킨다. request.setCharacterEncoding("utf-8"); //요청 관련 인코딩 처리 response.setContentType("text/html;charset=utf-8"); //응답 관련 인코딩 처리 - 그런데 filter를 사용하면 서블릿을 작성할 때마다 번거롭게 위 코드를 적어주지 않아도 된다. - Filter의 원리 필터를 만들어주고 컨테이너가 알아들을 수 있게 등록해줘야 함. 필터 뒤..
* 컨테이너 = WAS - 컨테이너는 본질적으로 메모리 공간. - 컨테이너는 JVM 위에 탑재됨. JVM보다 훨씬 광범위하고 파워풀하고 다채로움. 서블릿들이 컨테이너에서 만들어지고 요청을 받고 뭔가가 만들어지고 뭔가가 많이 없어지고 이런 것들이 메모리. - 컨테이너 = 서블릿들이 생성되고 실행되는 제반적인 환경 그 자체. * CGI = Common Gateway Interface - CGI는 서버 사이드에서 돌아가는 전반적인 프로그램. 자바 기반은 스레딩 방식으로 돌아가고 자바 기반이 아닌 것은 프로세스로 일일이 요청에 수행. - CGI 기술 => 컨테이너(=WAS) 상에서 실행하는 프로그램을 통칭. 서버상에서 돌아가는 다이나믹한 기술을 CGI 기술이라고 한다. - ASP, PHP, Pearl, JSP,..
- form 태그 method 속성으로 Get 방식과 Post 방식을 정해줄 수 있다. 디폴트는 Get 방식이다. - 클라이언트에서 데이터 쪼가리 날리면서 요청한다. get 방식이면 데이터 쪼가리를 주소에 입력폼 key, value으로 붙이고 / post 방식이면 ServletRequest에 입력폼 key, value을 담음. 1. Get 방식 - Get 방식. get it (페이지 줘.) - 데이터 전달이 목적이 아니라 페이지 연결이 주목적. 태그가 Get 방식임. - 응답받은 페이지 주소 보면 http://localhost:8888/web02_HTTServletForm/FS?userId=111&userPass=222&menu=김치볶음밥&menu=닭도리탕 - 객체에 안 담기고 주소창에 붙인 걸 보면 F..
web.xml (DD 파일) - 클라이언트의 요청을 수행할 서버사이드의 컴포넌트가 먼저 만들어져 있어야 함. - 자바 SE 레벨에서는 객체 생성의 주체는 개발자. 하지만 자바 EE 레벨에서는 WAS가 서블릿 객체를 생성한다. 개발자는 실행해서 컴파일하고 배포하면 됨. - 서버가 인식할 수 있는 유일한 기술이 xml. 프로그램 아님. 프로그램은 인간이 머신을 이해하는 랭귀지. WAS(컨테이너)가 인식할 수 있는 기술은 xml임. 예전에는 이걸 다 개발자가 만들었다. - WAS는 가동되면 web.xml을 읽어들인다. - WAS가 이걸(web.xml) 읽어서 매핑해서 인스턴스를 컨테이너 메모리 안에다가 생성. XML은 주석 잘 안 다는 게 좋음. - web.xml을 DD(Deployment Descriptor..
참고 : 방통대 김진욱 교수 운영체제 강의 교착상태(Deadlock) : 관련된 모든 프로세스가 무한히 대기 기아상태(Starvation) : 관련된 일부 프로세스가 지속적으로 대기 * 교착상태(Deadlock)의 필요조건 (아래 4가지가 동시에 만족될 경우 교착상태가 일어날 수 있음) 1. 상호배제 조건 - 공유할 수 없고 동시에 쓸 수 없는 자원일 때 발생함. - 하나의 자원이 있고 프로세스 A가 쓰고 있으면 프로세스 B는 쓰지 못하고 기다려야 함. 2. 점유 대기 조건 - 점유하고 있는 상태로 기다린다. - 프로세스 A가 자원 a를 할당받아 배타적으로 점유하고 있는데 프로세스 B가 점유하고 있는 자원 b가 해제되기를 기다림 3. 비선점 조건 - 선점은 자원을 빼앗아올 수 있는 건데, 비선점은 자원을..
- 결론적으로 클래스 필드로 정보가 저장되는데 최종적으로 정보를 넣는 곳이 DB. DB에 액세스하기 위한 프로그램이 DAO. - Model : DAO와 VO를 한꺼번에 가리키는 말. - 개발의 순서는 Back부터 시작. 그래서 프로그램 배울 때도 Back부터 시작. 그게 안 되어있으면 앞으로 dependency 할 수 없음. - 제이쿼리는 Front UI 프레임워크 => 프론트 쪽에서 쓰이는 자바스크립트를 다 모아놨다. - 프로그램은 동적. 들어오는 입력값에 따라 결과값이 달라짐. 이게 프로그래밍. html, css는 값이 들어올 공간도 없을 뿐더러 값이 고정. - 프로그램의 전반적인 매커니즘을 알려면 연결구조를 알아야 한다. 연결구조를 알려면 이 부분을 알아야 함. - 화면은 2가지가 있음. 초기(in..
- 알고리즘 문제의 효율성 : 1. 수행 시간 / 2. 사용한 메모리 / 3. 코드의 길이 - 효율성 중에서 수행 시간이 가장 중요하다. 보통 메모리는 넉넉하므로 걱정할 필요가 없다. 시간 안에 풀었다면 메모리 부족을 겪지 않는다. - 보통 배열이 가장 많은 공간을 사용한다. 배열의 크기가 크면 시간 초과를 받는 경우가 많다. - 불필요한 공간 없으면 보통 공간 복잡도(Space Complexity)는 신경 안 써도 된다. - 시간 복잡도(Time Complexity)를 통해 작성한 코드의 시간을 예상할 수 있다. - 99%의 케이스가 0.01초가 걸린다고 해도 1%의 케이스가 100초가 걸린다면 그 경우 시간 복잡도는 100초가 걸리는 셈이다. - 시간 복잡도를 계산할 때 보통 빅오 표기법(Big O ..