'JAVA 계열/자바 & 안드로이드 교육'에 해당되는 글 83건

  1. 2015.09.24 9월 4주차 4일 (12주)
  2. 2015.09.23 9월 4주차 3일 (12주)
  3. 2015.09.22 9월 4주차 2일 (12주)
  4. 2015.09.21 9월 4주차 1일 (12주)
  5. 2015.09.18 개인 홈페이지 포트폴리오 작업
  6. 2015.09.18 9월 3주차 5일 (11주)
  7. 2015.09.17 9월 3주차 4일 (11주)
  8. 2015.09.16 9월 3주차 3일 (11주)
  9. 2015.09.15 9월 3주차 2일 (11주)
  10. 2015.09.14 9월 3주차 1일 (11주)

JSP 수업 1일차


실질적으로 JSP에서 서블릿당 DB를 연결하는건 (100~30000개 이상) 서버에 부하가 생김으로 불가능하다. 


서블릿 -> DB 바로 연결하면안되고

중간에 DB연결을 전담하는 객체(클래스)가 필요하다.

그것이 DAO 클래스이다. DAO 클래스에서 JDBC를 사용하여 DB연결을 중간에서 중계해준다.

여기에 추가하여 팩토리 패턴을 추가하여 클래스를 미리 생성해서 사용자에게 전달해준다.


오전엔 서블릿에 템플릿 패턴을 적용한상태로 구현해보기

+ JSP 기초 시작


 - jsp(java Server Page)

Was의 웹컨테이너에 의해 관리되고 실행되는 Java 기반 ServerSide Script 언어다.

Servlet과 반대로 HTML 페이지에서 프로그램코드가 필요한 부분에 자바코드를 포함시켜 사용한다.







'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

10월 1주차 3일(13주차)  (0) 2015.09.30
9월 4주차 5일 (12주)  (0) 2015.09.25
9월 4주차 3일 (12주)  (0) 2015.09.23
9월 4주차 2일 (12주)  (0) 2015.09.22
9월 4주차 1일 (12주)  (0) 2015.09.21
Posted by moyaiori
,

서블릿 3일차


쿠키 진도 예정


서블릿의 컨텍스트 객체 3가지


범위가 큰 순서대로

servletcontext - 서버 구동시 생성된다. 모든 서블릿이 접근이 가능하다.

HttpSession - 브라우저내에서 공유하는 데이터

httpRequest - 요청마다 생성된다. 요청되는 서블릿간에 데이터를 공유한다.


- 쿠키(Cookie)

클라이언트의 상태정보를 클라이언트의 메모리에 "일정한 형식의 텍스트 데이터(쿠키)"로 저장하고, Http 요청시 요청 메시지 헤더에 쿠키를 포함시켜 전송한다.


대상이 접속시 쿠키 정보에 따라 클라이언트 정보를 구분한다.

쿠키는 해더에 포함시켜 전송한다.

해더에 쿠키를 작성하는 방법


 - set-Cookie

1. name = value : 쿠키 이름 과 값

2. expires = date : 쿠키가 삭제되는 날짜, 생략 시 현재 브라우저의 세션 동안에만 유효

3. path = path : 쿠키가 유효하게 사용될 수 있는 URL 패스, 생략시 쿠키를 설정한 문서의 패스

4. domain = domain name : 쿠키가 유효하게 사용될 수 있는 URL 도메인, 생략시 쿠키가 설정한 도메인


1번 값만 필수고 나머지는 선택사항


쿠키는 한글, 특수문자를 지원하지않기때문에 서버에 500애러를 발생시킨다.

굳이 넣고싶다면 인코딩해서 넣어야한다.



파일 다운로드

파일 다운로드 구현시 캐쉬를 사용하지않도록 해줘야 한다.


오후에 만들기 (16:00까지)

서블릿명 : lab

화면만들기

title : ~~~자료실


자료실 목록을 나타내는 테이블

번호 : 0 1 2 3 4

파일명 : 파일명 Text~~

파일크기 : 파일크기 Text~~

작성자 : 이광용으로 고정(정적으로)

다운로드 : 버튼으로





'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 4주차 5일 (12주)  (0) 2015.09.25
9월 4주차 4일 (12주)  (0) 2015.09.24
9월 4주차 2일 (12주)  (0) 2015.09.22
9월 4주차 1일 (12주)  (0) 2015.09.21
개인 홈페이지 포트폴리오 작업  (0) 2015.09.18
Posted by moyaiori
,

서블릿 2일차


ServletConfig

HttpSession

ServletContext

RequestDispatcher

Cookie


위 인터페이스와 클래스(쿠키)를 공부한다.


form 데이터 처리

ENCTYPE은 파일업로드 처리시 "multipart/form-data" 를 사용한다.




ServletConfig - 초기 설정 정보를 가져올때 사용한다.

Web.xml에 미리 설정해놓은 파라미터를 가져온다

init에서 1번 가져오거나 ServletConfig에서를 호출해서 가져온다.

doget, dopost에서 호출해서 호출될때마다 사용한다.


ServletContext - 각각의 싱글톤으로 생성된 서블릿들간에 실행환경정보나 서로간의 데이터를 주고받기위해 존재하는 객체

데이터를 주고받을때 Map으로 주고받는다.

컨테이너(서블릿)의 실행 환경 정보들이 Map형태로 저장되어있다.

서버가 살아있는동안 스테틱 변수처럼 계속 존재한다.

정확히는 서블릿 컨테이너와 생을 함께한다.


web.xml에서 <context-param>은 모든 서블릿들이 사용할수있는 파라미터를 정의하면 전체 서블릿이 사용할 수 있다.


RequestDispatcher - 클라이언트 요청을 컨테이너에 의해 관리되는 자원(서블릿, JSP, HTML...)으로 포워드 시키거나, 자원의 실행결과를 현재 서블릿으로 포함시키고자 할 때 사용한다.

주로 forward를 자주쓴다. 원하는 페이지로 보내준다. redirect랑 다르게 주소가 바뀌는게아니다.


include는 해당 페이지의 결과값을 화면에 붙여준다.


ServletContext는 모든 컨테이너가 데이터를 공유하는 개념이고


Dispathcer는 연결된 컨테이너끼리만 데이터를 공유할수있다. 여기선 request, response에 값을 넣어서 바꿀수 있다.

여기서 데이터를 전달하는 2가지 방법이 있는대 

1. setAttribute를 통해서 할수있고

2. 주소에 파라미터로 ?name="이름" 형식으로 보내서

getParameter로 받는다.

- 스코프가 중요하다. 즉 어디범위까지 이 데이터를 공유할지가 중요하다.


- sesstion

동일한 브라우저에서 요청이 들어왔을때

값을 저장하고있다







'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 4주차 4일 (12주)  (0) 2015.09.24
9월 4주차 3일 (12주)  (0) 2015.09.23
9월 4주차 1일 (12주)  (0) 2015.09.21
개인 홈페이지 포트폴리오 작업  (0) 2015.09.18
9월 3주차 5일 (11주)  (0) 2015.09.18
Posted by moyaiori
,
- 서블릿 웹 프로그래밍

서버쪽의 순수한 기술 레벨


제이쿼리 - 라이브러리

스프링 - 프레임워크



CGI(Common Gateway Interface) - 웹 서버와 동적 콘텐츠 작성ㅇ르위한 외부 응용프로그램감에 데이터를 주고 받기 위한 공통 규약이다. 


Servlet(Server + let)

동적 콘텐츠 생성을 위한 자바로 작성도니 CHI 프로그램을 의미한다.

웹 클라이언트의 HTTP 요청과 응답을 위한 Servlet API를 지원한다.

서블릿 엔진(웹 컨테이너)에 의해 실행되고 관리된다.

웹서버 + 웹컨테이너 = 웹 어플리케이션 서버 (WAS)


EJB가 어려워서 쉽게 만든게 Spring


서블릿 소개

서블릿은 웹 애플리케이션 서버(WAS)의 서블릿 엔진(컨테이너)에 의해 실행되고 관리되며, 웹 클라이언트에 전송할 동적 콘텐츠(HTML....등등)를 생성하기 위한 웹 컴포넌트로, 자바를 기초로 하는 기술이다. 

서블릿 컨테이너는 서블릿의 라이프사이클을 관리(생성, 실행, 삭제) 해 주며 웹 크라이언트 요청이 있을 경우 서블릿을 실행시켜 요청에 대한 응답을 처리하는 서버 모듈로, 웹 애플리케이션서버의 일부분이다.


서블릿 컨테이너의 HTTP 요청 처리 과정

1. 사용자의 서블릿 요청 (문서이름이 아닌 프로그램이름 으로 호출)

web.xml에서 서블릿이름을 찾는다.

2. 컨테이너는 2개의 객체 생성(HttpServletRequest(http 요청 메시지 정보 저장), httpServletResponse(http 응답 메시지 정보 저장))

위 2개의 객체는 인터페이스이다. 

3. 요청 URI를 분석하여 어떤 서블릿에 대한 요청인지 알아낸다. 스레드에 의해 서블릿이 하나 생성된다.

4. 컨테이너는 서블릿 객체의 service()메소드 호출하면서 request, response 객체 전달

5. doGet() 메소드는 동적 콘텐츠를 생성한 다음 response객체에 출력한다.

6. 컨테이너는 response 객체를 HTTP 응답 메시지로 변환하여 웹 클라이언트로 전송하고 request와 response 객체를 소멸시킨다.


서블릿은 클래스 생성자를 만들지 않는것이 권장사항이다.

왜냐하면 컨테이너에서 자동으로 만드는대 이때 리플렉션 클래스의 class.forname으로 web.xml에서 이름을 가져다가 만들기때문에  매게변수를 가지면 못만든다.


WAS에는 여러개 웹 애플리케이션을 등록할 수있다.

어떤것은 "", 어떤것은 "hello"식의 등록이 이루어진다.

하나의 웹 애플리케이션은 정형화(표준)된 웹 디렉토리 구조를 가져야한다.


WebContent 밑에 다양한 정적 페이지를 저장할수 있다.

WebContent/WEB_INF 에는 classes아래 동적인 서블릿클래스를 저장하는 위치

WebContent/lib 에는 외부 라이브러리 파일을 저장한다.

WebContent/web.xml 에는 서블릿 설정파일이 들어있다. (중요)


위 정형화된 구조가 제대로되지있않으면 프로그램이 돌아가지 않는다.


 - MME Type(Multipurpose Internet Mail Extension)

다목적 인터넷 메일 확장 규약 - 인터넷 메일을 통해 문자코드로 구성된 텍스트 파일뿐만 아니라 멀티미디어 파일도 주고 받을 수 있도록 인터넷 메일 표준 규약을 확장한 규약이다.


응답 헤더 설정 : Content-Ype:text/html; charset=utf-8


MIME타임에는 8가지 형식이 존재한다.

'application‘, 'audio‘, ‘image’, ‘message’, ‘model’, 'multipart', ‘text’, ‘video’


파일 경로가 공개되지않아 보안에 유리할수 있다.


- 서블릿 라이프 사이클

서블릿 라이프 사이클은 서블릿 컨테이너에 의해 일관되게 관리된다.


Instance -> init(servletConfig) -> init() ->service(request, response) - destroy()


init은 처음 생성될때만 호출된다.



















'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 4주차 3일 (12주)  (0) 2015.09.23
9월 4주차 2일 (12주)  (0) 2015.09.22
개인 홈페이지 포트폴리오 작업  (0) 2015.09.18
9월 3주차 5일 (11주)  (0) 2015.09.18
9월 3주차 4일 (11주)  (0) 2015.09.17
Posted by moyaiori
,

게시판 - 팟수넷 게시판 참고하기


방명록 - 점보트론을 이용해서 스티커 메모같은느낌으로 하기 -> 부트스트랩 적용시 레이아웃이 망가지는현상 아마도 그리드 떄문에 그런거같다.


메뉴 - 부트스트랩 네비바 이하동문


다른방법 강구해야될듯




'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 4주차 2일 (12주)  (0) 2015.09.22
9월 4주차 1일 (12주)  (0) 2015.09.21
9월 3주차 5일 (11주)  (0) 2015.09.18
9월 3주차 4일 (11주)  (0) 2015.09.17
9월 3주차 3일 (11주)  (0) 2015.09.16
Posted by moyaiori
,

오전


부트스트랩 발표


1. 개요 - 이광용

2. 예제 - 유안상


------------------

오후


예제 이어서


과제 - 홈페이지 방명록 화면 만들기









'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 4주차 1일 (12주)  (0) 2015.09.21
개인 홈페이지 포트폴리오 작업  (0) 2015.09.18
9월 3주차 4일 (11주)  (0) 2015.09.17
9월 3주차 3일 (11주)  (0) 2015.09.16
9월 3주차 2일 (11주)  (0) 2015.09.15
Posted by moyaiori
,

자바스크립트 4일차


브라우저안에는 DOM Parser가 내장되어있다. 

Dom Parser가 동적으로 HTML 코드를 생성해준다.

각각의 엘리먼츠를 객체화하여 메모리에 생성해준다.


- 이벤트


'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

개인 홈페이지 포트폴리오 작업  (0) 2015.09.18
9월 3주차 5일 (11주)  (0) 2015.09.18
9월 3주차 3일 (11주)  (0) 2015.09.16
9월 3주차 2일 (11주)  (0) 2015.09.15
9월 3주차 1일 (11주)  (0) 2015.09.14
Posted by moyaiori
,

자바스크립트 3일차


자바스크립트의 객체지향 4대 특성에 대한 설명


추상화 : 생성자함수를 통해서 일상생활의 객체를 추상화 할수있다.

캡슐화 : 직접적인 지원은 하지않고 기법적인 은닉화 & 캡슐화가 가능하다.

상속 : prototype기반의 상속

다형성 : 지원하지않음


위 특징을 봣을때 기존의 절차지향 언어의 기본베이스로 객체지향 스타일을 구현한다.


Object, function <-- 자바스크립트의 기본함수(생성자함수) 하지만 이것만 생성되어있는게아니고 prototype객체가 또 따로 선언되어있다. 상속개념때문에 필요하다.


protoype은 무조건 Object의 인스턴스이고 함수는 무조건 function의 인스턴스이다.

생성자 함수를 생성하면 자동으로 prototype이 생성되는대 이 prototype은 Object의 prototype를 상속받은 prototype이 된다.


어떠한 추상화된 사용자 정의 객체가 있다고 볼때 그 객체를 new해서 생성하면 어떠한 추상화된 사용자의 prototype을 가리킨다.


call() 함수를 통해서 상속받은 prototype의 원형 생성자 함수를 호출할 수 있다.


자바스크립트에서 변수에서 바로 기본함수들을 호출할때 그 순간 오토박싱 해서 String 객체로 변환해준다. 또한 이 작업이 끝나면 다시 기본 string형으로 변환된다.


오전 & 오후 자바스크립트 기본 함수 공부


--------


브라우저 객체 모델 (BOM, Browser Object Model)

window, location, navigator, history, screen, document


location : 제목표시줄

history : 브라우저 기록

navigator : 브라우저 정보


------


DOM


nodeValue

nodeType

nodeName 3가지는 모든 앨리먼트 노드 속성을 자주쓴다.








'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 3주차 5일 (11주)  (0) 2015.09.18
9월 3주차 4일 (11주)  (0) 2015.09.17
9월 3주차 2일 (11주)  (0) 2015.09.15
9월 3주차 1일 (11주)  (0) 2015.09.14
9월 2주차 5일(10주)  (0) 2015.09.11
Posted by moyaiori
,

자바스크립트 함수 2일차




오전에 병원갔다오느라 늦음 




NaN 속성명, Number 객체의 속성




Infinity 도 Number 객체의 속성이다




parseInt는 가장먼저 나오는 문자전까지의 숫자를 숫자로 파싱한다.


상황에 따라 Number() 나 parseInt를 활용한다.




- 객체


전역변수 개념이 아니고 window객체에 속성으로 추가된다.



자바스크립트 객체, 상속 개념


'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 3주차 4일 (11주)  (0) 2015.09.17
9월 3주차 3일 (11주)  (0) 2015.09.16
9월 3주차 1일 (11주)  (0) 2015.09.14
9월 2주차 5일(10주)  (0) 2015.09.11
9월 2주차 4일(10주)  (0) 2015.09.10
Posted by moyaiori
,

이번주 금요일(18일) 부트스트랩 4시간(개인 2시간) 준비 시작


자바스크립트 2일차 시작


자바스크립트 사용방법 3가지


1. html 문서안에 <script> </script> 안에 처리, 동적인 데이터를 처리할때 사용한다. 서버와 통신이 될수도있다. 


2. 인라인 방식, 속성에서 바로 값으로 지정 ex) <div script~~~~> 식으로 엘리먼츠 안에 직접 입력하는방식


3. 외부파일로 지정해놓고 쓸수있다. 


CSS의 추가방식과 비슷하다.


자바스크립트의 가장큰 영역 중 하나인 변수의 타입이 동적으로 정해줄 수 있다, (var)


----


범위 연산자

다양한 타입을 비교할 수 있다.


bool형태의 true와 fasle를 비교할 수 있다. 내부적으로 true(1),false(0) 로 사용된다.


변수!!!

자바스크립트에서는 무조건 var로 통일된다.

선언했을때는 타입이 선언되지않는다. 초기화하지 않는 경우

데이터 타입이 없는것이 아니고 스크립트 엔진에 의해서 자동으로 결정된다.

값을 할당할때 타입이 결정된다.


자바스크립트의 가장큰 특징중하나인 

문자열, 숫자, 불과같은것을 '자료형'이라고 부릅니다. 총 6개의 자료형이 있다.


1, String : 문자열

2. number : 숫자

3. boolean : 논리

--- 여기서부터 자바스크립트의 특징

4. function : 함수, 함수를 하나의 객체로 본다. 그것도 일급객체로 본다.(중요도 높다), 이름없는 함수도 지정할 수 있다.

5. object : { }로 객체를 의미한다. 마치 자바에서 스트링 " "을 주는것과 비슷한것이다. 

6. undefined : 데이터타입이 없을을 나타내는 데이터타입(위5가지에 속하지않는 데이터타입) 


위의 1, 2, 3, 6은 기본자료형, 4, 5 래퍼런스타입 으로 볼 수 있다.


배열을 하나의 Object로 취급한다. 


== 값만 비교 (!=, ==)

=== 형과 값을 비교 (!===, ===)


자바스크립트 배열은 (Array)은 모든 데이터 타입을 다 담을수 있다.


문자열을 배열처럼 접근이 가능하다.


자바스크립트에서 객체는 모두 Map이다.

자바스크립트에서의 Map은 연관배열이라는 용어로 사용한다.


그래서 문자열을 배열처럼 접근이 가능하다. 


new Date 같은형식으로 사용하면 key값에는 getHours 이고 value는 현재시간이 나온다.


. 과 []로 속성에 접근할 수 있다.(정확하지않다. 용어가)


선언형 함수는 선언된 곳 이전에서 호출하여도 호출이 된다. (리프팅)

익명함수는 실행될때 생성되기때문에 만들어지기전에 호추하면 애러가 나타난다.


가변 인자 함수 - 매게변수와 다르게 사용했을때 알아서 매게변수를 처리하는 함수

모든 함수에는 가변 인자 함수를 처리하기 위해 arguments 함수를 제공한다.

















'JAVA 계열 > 자바 & 안드로이드 교육' 카테고리의 다른 글

9월 3주차 3일 (11주)  (0) 2015.09.16
9월 3주차 2일 (11주)  (0) 2015.09.15
9월 2주차 5일(10주)  (0) 2015.09.11
9월 2주차 4일(10주)  (0) 2015.09.10
9월 2주차 3일(10주)  (0) 2015.09.09
Posted by moyaiori
,