3D Graphic Technical Artist
20130116 교육내용 본문
#1 Servlet &JSP
two tier 구조 - server side,client side
변경이 있는 경우 수정 배포가 어려움
크기에 따른 네트워크 분류 : LAN, MAN, WAN
IP 주소 : 인터넷 상에서의 컴퓨터 주소, 논리적임, 실제로 IP 주소는 렌카드에 부여됨
렌카드는 물리적인 주소(Mac 어드레스)를 가지고 있음
DNS : IP 주소에 매칭이 되는 문자열 형태의 주소
- server(domain name 을 IP주소로 문자->숫자로 바꿔주는 서버 )
- system(domain name을 사용하는 전체 시스템)
Port : 각각의 프로그램 마다 부여하는 번호
(포트번호와 하나의 프로그램은 같은 것을 의미함)
IP와 Port를 이용해서 해당 컴퓨터의 프로그램에 접근 할 수 있다.
몇개의 자주 쓰는 포트번호 외에는 임의로 설정 할 수 있음
Web Browser : 웹서버로 받은 HTML 문서나 파일과 연동하고 출력하는 응용 소프트웨어 (ex. IE, 크롬)
Web Server : 웹 브라우저의 요청을 받아 해당하는 웹페이지를 찾아서 보내주는 일을 하는 소프트웨어 (Request/Response, 아파치서버)
Protocol : 데이터 통신을 위한 규약
WWW(World Wide Web, WEB) : 인터넷 상에서 동작하는 하나의 서비스
HTTP(Hyper Text Transfer Protocol) : WWW 서비스 상에서 정보를 주고 받을 수 있도록 고안된 프로토콜
client가 server로 부터 request/response가 이루어지면 server는 client와 연결을 끊는다. -> client가 많기때문에 server의 부하를 줄이기 위해
다시 request했을때 이전에 요청한 client인지 구별 할 수 없음 http가 무상태 프로토콜 이기 때문
- Stateless Protocol(무상태 프로토콜) : Client의 상태를 저장해 놓지 않음
톰캣 : Web server + Was
로그를 보면
["http-bio-8080"] : Webserver port
["ajp-bio-8009"] : WAS port
server.xml
서버설정
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" /> |
환경설정 (컴퓨터 내부에서 문자 Set)
문자를 0과1로 되어있는 특정한 코드를 지정
다국어 코드 (아스키코드) : UTF-8
▲ 이클립스에서 문자 인코딩 바꾸는 방법
context root : 클라이언트가 서버쪽의 웹프로젝트를 찾아가는 이름
#2 HTML
CGI(common gateway interface) : 클라이언트가 서버쪽으로 데이타를 보내는 규약
프로세스단위로 수행됨
* FORM
1. 입력할 수 있는 HTML 폼을 보내달라고 요청
2. 입력 가능한 HTML 폼을 보여줌
3. 값을 입력하고 서버쪽으로 전달
<form action="" method= "">
//action : 사용자가 입력한 데이터를 넘겨줄 파일
//method : 데이터를 전달하는 방식 (get, post)
//method를 설정해주지 않으면 디폴트 get방식으로 설정됨
Query String (?변수=값&변수=값&변수=값)
post방식 : http 헤더를 통해서 값을 전달
get방식 : url을 통해서 값을 전달
#3 서블릿 호출 실습
1. 새프로젝트 생성
2. 빌드 파일 경로 수정
<form action="/addProject/add" method="post">
첫번째 숫자 : <input type="text" name="first" /><br/>
두번째 숫자 : <input type="text" name="second" /><br/>
//두개의 텍스트 필드의 이름을 다르게 지정 - > 서블릿이 구분할 수 있도록
<input type="submit" value="서버로 전송!!" />
</form> |
4. 서블릿 파일 생성
Post방식이므로 doPost 선택 doGet 해제
5. 서블릿 doPost 부분 작성
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
//1. Client의 입력받기
request.setCharacterEncoding( "UTF-8");
//문자열을 입력받는 경우에 인코딩 설정을 해줘야함
String num1 = request.getParameter( "first");
String num2 = request.getParameter( "second");
//입력 받은 값은 무조건 String 형식으로 받는다.
//입력 하는 html의 태그 중 name에 해당하는 값을 각각 받아서 변수에 저장.
//2. 로직처리
int result = Integer.parseInt(num1)+Integer. parseInt(num2);
//3. 출력처리
response.setContentType( "text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println( "<html><head><title>결과합</title></head>" );
out.println( "<body>두 숫자의 합은 : " +result);
out.println( "</body></html>" );
out.close();
} |
6. 결과
#4 Daily 과제- 로또시스템
입력 6개의수
출력 (1~46)
로또 번호 : 2,5,11,23,24,41 보너스 : 9
(6개의 숫자가 다 맞으면 1등)
(5개 + 보너스 맞으면 2등)
(5개의 숫자가 맞으면 3등)
(4개의 숫자가 맞으면 4등)
(3개의 숫자가 맞으면 5등)
담청내역
xxx 등에 당첨 되었습니다.
'업무(~2014) > JAVA ' 카테고리의 다른 글
20130115 교육내용 (1) | 2013.01.15 |
---|