*서블릿이란? Server Side Applet을 의미한다. (*applet = 작은 규모 단위를 뜻함.) applet은 브라우저에 의존하는 반면, 서블릿은 서버에서 운영한다. Java를 사용한다. 즉, 브라우저(클라이언트)로부터 받은 요청(request)을 받아 WAS(Web Application Server)에서 요청을 처리하고 그 결과를 브라우저(클라이언트)에 반환(response)하는 기술을 의미한다. MVC패턴에서 Controller 역할을 한다. 웹서버는 기본적으로 정적인 페이지이지만 서블릿을 통해 클라이언트와 상호작용하면서 동적인 페이지로 활용할 수 있다. 보안 기능을 적용하기 쉽다. (java의 강력한 보안 모델과 표준화된 API를 활용하기 쉽기 때문) *CGI C언어로 구성되어 있으며, ..
*필수 입력 사항 기능을 js로 구현하기 직원 정보 등록 * *전화번호 성 별 여성 남성 *e-mail 직 급 이사 부장 차장 과장 대리 사원 취 미 영화감상 음악감상 독서 *valiadation이란? -사용자가 입력한 값이 제대로 된 값으로 들어왔는지 아닌지를 체크하는 것을 의미 *required -input 태그의 속성 중 하나로 required를 사용하면 그 input 태그에는 반드시 값을 입력해야 서버에 전송할 수 있다. *폼을 바탕으로 직원관리 시스템 재구성하기 listEmp.jsp 더보기 right 직원 목록 no ID 이름 직급 이메일 등록일 직원이 없습니다. registerEmp.html / insertAction.jsp 더보기 registerEmp.html 직원 정보 등록 *<이..
*html 파일을 jsp파일로 바꾸는 작업 -화면에 보여줄 부분은 body태그에 넣고 그렇지 않은 부분은 head태그에 넣는다. 1. 지시자: -jsp 페이지의 전반적인 동작이나 속성을 설정한다. 1. page 지시자 ex) jsp페이지의 문서타입, 언어, import문 등을 설정할 때 사용한다. 2. include 지시자 ex) 다른 jsp페이지나 외부 리소스를 현재 페이지에 포함시킬 때 사용한다. 3. Taglib 지시자 ex) JSTL(JavaServer Pages Standard Tag Library) 또는 사용자 지정 태그 라이브러리의 선언을 할 때 사용한다. 2. 선언부: -변수와 메서드를 선언하는 부분 -변수와 메서드는 페이지 내 어디서나 접근 가능한 필드와 메소드를 의미한다. 3. 표현식 ..
*소프트웨어를 나누는 이유 -처음 sw(소프트웨어)는 한 body였음. -> main () 하나로 돌아감. 하나의 PC에서 다 돌아감. -점차 기술이 발전하면서 데이터가 증가하고 기능들도 다양해지면서 sw가 점점 무거워짐. -또한 사용자가 늘어남에 따라 개인 HW(하드웨어) 사양에 따라 sw를 수행 정도 달라짐. (sw를 감당하기 어려울 정도로 무거울 경우) -더 이상 한 대의 PC로는 돌아가기 어려워져서 분리가 필요해짐. sw 분리의 가장 첫번째 목적은 Data 분리 -> 데이터가 많아져서 SSD도 커버하기 어려움. 기능이 다양 -> RAM + CPU 보이는 화면이 보기 좋게 있어야 함. (view) -> UI 등장 (UX를 공부해야 함.)
>전체 코드 더보기 TestJDBC2 클래스 package test.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; /** * JDBC : Java Database Connectivity 프레임워크 * make method (transaction method) : single thread, API로 사용하지 않음. * 4. execute (sql) * 5. result( , int, re..
JSP : Java Server Page 1. File-> New -> Dynamic Web Project 생성 -자신의 프로젝트 환경의 서블릿 스펙에 맞는 모듈 선택 (Tomcat의 버전 7.0에 호환되는 모듈을 맞춰줌.) 2. JSP 파일 생성 3. Tomcat 서버 설치 -기본 값으로 셋팅함. (본인 프로젝트 환경에 맞춰서 Tomcat 버전 설정하기) -서버를 사용할 본인의 프로젝트를 설정하고 Finish 클릭. (Dynamic Project) 4. Tomcat 설정 window -> show view -> Servers에서 해당 Tomcat을 더블 클릭 하면 Overview 화면이 뜸. -Ports에서 HTTP/1.1 port번호를 8090으로 셋팅함. 이 작업으로 기본적인 세팅은 끝남. < ex..
-저 두 서비스가 실행 중이어야 오라클 서비스가 실행되고 있는 것. 1. Driver class load & register (DriverManager)-> 클래스 로드를 하면 DriverManager를 통해 자동으로 등록됨. 2. get Connection (url, user, pwd) 3. create Statement 4. execute (sql) 5. result( , int, recordset) 6. get data 7. close (5, 3, 2 순으로 닫음.) 더보기 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import..
-매 선택에 있어서 현재 당장 최선의 선택하는 것 ∴ 따라서, 그리디 알고리즘은 항상 최적의 값을 구한다고 볼 수 없다. -위 그림에서 a에서 e까지 가는 경로를 구한다고 했을 때 첫번째로 a에서 다음 경로로 가는 경우를 찾아야 한다. -다음 경로로 가는 길은 b,c,d 3가지를 선택할 수 있다. -전체 그림으로 봐서는 a-b-e 의 경우가 최적의 경로이지만, 그리디 알고리즘의 경우, a에서 b,c,d에서의 최적값을 찾는다. -따라서, c경로를 찾게되고 그로 인해 그리디 알고리즘은 a-c-e의 경로로 알려주게 된다. ∴ 그리디 알고리즘은 부분적인 최적값은 찾지만 전체적인 면에서의 최적값은 찾지 못하게 된다.
정렬 알고리즘이란? -리스트 안에 저장된 요소들을 특정한 순서대로 배치하는 알고리즘 -집합데이터를 사용 (콜렉션) -compable 함수 이용하여 정렬 -> sort명령을 통해 정렬 가능 -선택데이터가 다른 값들보다 작으면 앞으로 정렬 -가장 안정적 -시간적으로 오래 걸림. -더 작은 값의 자리를 바꿔주는 정렬 -바뀐 자리에서 이전 값들과도 비교해야 함. -복잡하지만 속도가 빠름 -바로 옆 두 데이터 (서로 인접한 요소들)를 비교해서 정렬 (옆에 있는거끼리 크냐 작냐 비교) -추가적인 메모리 소비가 작음. -앞에서 부터 차례대로 비교해 나가기 때문에 안정적임. -but, 상대적으로 다른 정렬 알고리즘에 비해 비교과정이 많아 데이터가 많아질수록 많은 시간 소비. (시간복잡도: O(N2)) *정렬 방법 맨 ..
- 프로그램 사이즈가 컴퓨터 한 대로는 다 처리하기 힘들어서 나눠서 처리함. *씬 클라이언트 방식 - 웹 서비스에서 주로 사용 -뷰(클라이언트 담당) : 사용자는 화면만 보게 끔 함. (사용자 입력을 받음.) -컨트롤러(서버 담당) : 사용자로부터 받은 요청을 처리하는 기능들을 조작. -모델(서버 담당): 요청 처리로 생긴 다양한 결과물을 담는 공간. cf.) rich 클라이언트 방식 -모델(서버 담당) ↔ 뷰 + 컨트롤러 (클라이언트 담당) -증명서 발급 방식 - [ ] 배열 : 가장 작은 데이터 집합 (가장 심플한 데이터들의 집합) *사용하는 이유 → 많은 데이터를 한 곳에서 관리하기 위해 * '[ ]' → 서브 타입, 이 자체만으로는 데이터 타입이 안됨. 그래서 기..