web을 지원하는 bean file -> servlet ->를 확장한 jsp
tomcat을 설치한 이유->servlet과 jsp를 관리하고 실행하는 servlet container(engine)가 필요 // 우리가 쓰는 was( web application server, servlet & jsp container와 web server를 가지고있는)의 이름 : 탐캣
-> jsp와 servlet은 빈이므로 실행할 수없다 bean을 관리하고 실행하는 contaier가 필요하다.
웹서버=html container
url : ip+port까지
uri : 물리적인컴퓨터정보 ㄴㄴ / identify
uri가 길어져서 관리하기가 힘들어짐 ->
현업에서는 url안씀, html을 키면 브라우저는 그 html이 어디서 왔는지 이미 알고있기때문에 uri만 하면됨, 특정 ip에 종속적이지 않기위해서
relative URI : servlet directory에 종속적이지 않게하기위해서, 상대경로
servlet : html을 io로 전송
jsp : html을 io로 전송 (php&asp : request가 오면 html을 resopnd하는 기술)
java.servlet.http : html을 display로 보여주는
servlet, jsp : html 전송을 표준화한 기술 ( JDBC -> db 전송을 표준화한 기술)
* servlet lifecycle
client가 요청하면 WAS는 thred를 생성
그 쓰레드가 inith메서드, service 메서드 호출후 respond해주고 죽음 / one-request one-쓰레드
다른 middleware는 one-request에 one-respond
*se /ee
cs(client.server)-> ee : jdbc 등등..
local에서 도는 것->se
.jar : 자바아카이브, 빈의 압축폴더
.war :웹아카이브,표준화된 폴더구조의 압축
웹이뜨는이유 : client용 app를 개발할 필요가없다(비용절감,편리)
apache liscence : 가져가서 써도된다, but 아파치를 사용했다는 것을 명시해라
back-end : 서버에서 실행하는 것
front-end : 브라우저에서 실행하는것
middleware : was / 요청에 따라 왔다갔다하는것
배치기술서 : web.xml : web application 환경파일(deployment descriptor)
* web.xml
tag = element
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>FirstServlet</servlet-class> // 그 이름을 가진 class는?
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name> // parttern 에 대응하는 name
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
* http에서 서버로 데이터보내는 방식(request 방식)
가시적인 보안을 요구하면 post( 아이디등 정보)& 보내야할 정보가 많으면, 보안필요없으면 get방식( 링크,검색,게시판)
<<client의 id와 pass가 request로 전달 id와 password를 server에서 받는 client form file처리>>
3 tear application : 컴퓨터 3대로 하는 것, client 고급이아니여도됨( 브라우저만있으면되, tihn client) -> 유지관리가 좋다
2 tear application : client의 컴퓨터가 좋고, server에는 db만 존재, fat client( 사양이 좋은 클라이언트 )
크롬북
eclipse perspective 투영도 : 관련된 어플리케이션들 ㅗ여줌
presentation : client와 대화를 주고받음 -> servlet
businessLogic(업무순서) 내정보수정의 businesslogic은 select->update이다 / 데이터의조작 -> Bean( JDBC )
* session cookie (상태유지를 위해 필요한 기술)
세션:망 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결, 서버와 클라이언트가 서로 지속적으로 데이터를 교환하기 위해서 필요
프로세스들 사이에 통신을 수행하기 위해서 메시지 교환을 통해 '서로를 인식한 이후로부터 통신을 마칠 때 까지의 기간'
'서로를 인식' : 보통 로그인 과정을 의미합니다. 서버 측에서는 클라이언트가 접속을 하면 이 사람이 어떤 권한을 가진 사람인지
모르기 때문에 먼저 서버 DB 안에 있는 사용자 ID와 비밀번호와 비교를 한 뒤에 그 사람의 권한을 부여해야겠죠.
이렇게 해서 그 사용자가 서버에 접속을 하면 그 사람이 로그아웃 하기 전까지 바로 그 '세션(Session)'이 유지
그러한 과정에서 바로 세션 키를 부여합니다.
처음에 REQUEST 1은 서버에게 홈페이지를 보여달라는 의미입니다. 바로 처음 서버에 접속을 한 것이죠.
이렇게 되면 서버는 그 접속한 사람에게 세션 ID를 부여해서 쿠키를 설정합니다.
그 접속한 사람은 저 세션으로서 식별
세션이 부과된 이후로는 그 클라이언트는 서버에게 무언가를 요구할 때 반드시 뒤에 부여받았던 세션을 붙입니다.
서버와 클라이언트가 대화를 할 때 요청(Request)과 응답(Response)를 주고 받으면서 대화를 진행합니다.
web의 가장 큰 장점 : client가 server에 req하면 server가 res하자마자 연결을 끊는다 -> 서버에 부하가없다. ( 무전기 )
다른 cs는 연결을끊지않는다. sqlplus -> 한번 select했다고 users테이블과의 연결이 끊기는게 아니다.( 핸드폰통화 )
장점이지만 그래서 cookie & session을 통해 상태유지가 필요하다.
DTO : Data Transfer Object 레이어간의 정보전달 담당
실질적으로 개발할때 war는 서버에 얹는용도로만 사용, 공유할때는 폴더구조로
EL( element language)
OGNL(Object Graph Nabigation Language)
'javascript & jQuery' 카테고리의 다른 글
JavaScript 찔끔 (0) | 2016.04.21 |
---|---|
jQuery 찔끔 (0) | 2016.04.12 |
[#4] Canvas & Animation (0) | 2016.04.12 |
Pluginslick (0) | 2016.04.05 |
Bootstrap (0) | 2016.03.31 |