웹 서버가 필요한 이유
- 데이터의 장거리 전송
- 최근 기술은 인터넷이 없으면 안됨
HTML5 CSS3 JavaScript
- asp
- php : 미국에서 많이 사용
- jsp & servlet : 어려움, 우리나라 공공기관 홈페이지에서 많이 사용
전자정부프레임워크
- 개발자들이 준수해야하는 큰 틀
- Spring Framework(미국에서 만듬)을 기반으로 만듬 <- JSP&Servelt 기반 <- Java 기반
환경구축
new dynamic web project > target runtime > apache tomcat v7.0
404 not found
- 요청하신 페이지를 찾을 수 없습니다.
web project : 정적인 페이지
dynamic web project : 동적인 페이지
3Tier
- Presentation Tier : 사용자(Client)
- Application Tier : WAS
- Data Tier : DB
tomcat
- WAS(Web Application Server), Server를 관리해주는 프로그램
- Server와 DB 사이에서 HTML문서를 동적으로 만들어줌
Client > Server > WAS(CGI > process(Client가 요청한 것) > thread(요청한 프로세스가 프로그램으로 처리될 것) > program) > DB
멀티스레드
JSP&Servlet이 효율적인 이유 : thread(실제 일하는 객체)를 간단하게 더 늘려 일을 할 수 있음(asp, php는 process를 늘려 thread 수를 늘리는 비효율 작업, 서버가 다운)
Client > a.java 요청(Request response, URL) > Server > a.class > a HTML 응답(Response) > Client
eclipse
Java Resource > new > servlet > javaPackage : com (company약자), ClassName입력 > next > next > doGet 해제 doPost 해제 Constructors from superclass 해제 service 체크
Server 기준으로 HTML로 글자를 보내는 OutPut과정
HttpServletRequest request 사용자의 정보
HttpServletResponse response 서버의 정보
Servlet은 어디에서 실행하든 Web Content 바로 아래에서 실행한다.
img는 프로젝트의 web content로 넣음(Web Content 안에서 상대 주소 따로 입력 안함)
servlet 만들면서 finish 눌렀을 때
클래스{}만 두고 다 삭제
alt shift s > overide/implement methods > service(HttpServletRequest, HttpServletResponse) 체크 > ok > 매개 변수 request, response로 변경
Servlet
Java 파일이기 때문에 대문자로 시작, html은 소문자로 시작
response(client가 보낸 자료 저장)와 request(server가 보낸 자료 저장) 두 개의 객체만 있음
네트워크 상에서는 모든 자료형이 String으로 바뀜
html에서 실행
href
hypertext reference
한글패치
servers 폴더 > tomcat v7.0 > server.xml > source > 65번째 줄로 변경
static method
Integer.parseInt(), 객체 생성을 하지 않고 실행
데이터를 전송하기 위한 3가지 조건
- action(데이터를 서버 측으로 보내기 위한 주소를 담음)
- name(보낸 데이터의 명칭)
- submit(데이터를 보내는 시점)
데이터 전송 방식 : get, post
get - 쿼리스트링 방식
url?name=value 형식
보내는 name과 value가 여러 개 : url?name=value&name1=value1
url 뒤로 데이터가 전송된다.
기본 데이터 전송방식(Default 값)
빠름, 명확
보안 취약
데이터 전송량의 한계
검색기록 공유
post - url 데이터 노출 안됨
패킷 안에 바디(데이터 폼의 형태)에서 전달 : 패킷(header, body로 구분되어 있음)
get 방식 한글 설정
Servers > tomcat v7.0 servaer at localhost-config > server.xml 65번째 Connector port번호가 일치하는 곳 URIEncoding="EUC-KR" 설정
post 방식 한글 설정
패킷으로 쪼개어 보내므로 get방식으로는 한글 설정 안됨.
request.setCharacterEncoding("EUC-KR");
service()
Servlet을 실행시키는 method
doget(), dopost()의 역할을 모두 대신한다.
'Programming > Servlet & JSP' 카테고리의 다른 글
JSTL 기초 (0) | 2020.03.02 |
---|---|
JSP 기초 (0) | 2020.02.26 |
담벼락 웹페이지(MessageSystem) (0) | 2020.02.24 |
회원관리(MemberSystem) (0) | 2020.02.24 |
게시판(FileUpload) (0) | 2020.02.24 |