본문 바로가기
개발자/백엔드 웹 개발자 과정(국비)

[서블릿, 서버더미 생성, 깃]

by 초응 2023. 1. 2.

[관리 프로그램] 

깃- https://git-scm.com/

소스트리 프로그램 https://sourcetreeapp.com/


[웹]

애플리케이션 -  동기화 프로그램. 내가 하는 행위에 대한 응답이 바로바로 됨.

웹 - 비동기화 프로그램. 서비스를 제공하는자와 제공 받는자로 나뉜다(사용자가 요청을 해야 서비스를 제공해줄 수 있다.)

 

웹 프로그램이란 ? 웹을 기반으로 웹브라우저를 사용하여 실행되는 프로그램.

웹의 기본 원리 : 요청 및 응답

웹 서버는 귀, 입 역할을 한다. (들을수 있고 말할 수 있지만 생각을 하지 못한다)

실제 처리는 웹 애플리케이션 서버가 한다.

 

[웹 컨테이너 = (서버)]

웹 컨테이너란? 웹 어플리케이션을 수행 할 수 있는 서버 프로그램

 

C:\student_java\jspstudy - 대문자 소문자 똑같이 다 따라할수 있도록
C:\student_java\jspstudy2 - 실습용
C:\student_java\jspstudy3 - 연습용

로 워크스페이스 3개 사용 예정.

(제로 컴퓨레이션 : 아무것도 안해도 바로 쓸수 있는 것. )
톰캣 - 오라클데이터베이스를 사용하는데 8080포트가 충돌이 일어날 수 있기때문에 변경해줄것.


1. server.xml 파일열기 (conf폴더)

2.port8080수정
<Connector port="9090" protocol="HTTP/1.1"   connectionTimeout="20000" redirectPort="8443" URIEncoding = "UTF-8" />

**이클립스 
1. new > other > server > 톰캣 버전 선택
2. new > project > Web > Dynamic Web Project((쳌)Generate web.xml deployment descriptor 체크 하기!)
설정 : 한글 깨짐, 자바 버전 확인한글깨짐 :  window > preference > General >workspace > Text file encoding (UTF-8로 설정)

/  window > preference > web > CSS,HTML,JSP UTF-8로 수정
**자바 버전 설정.  프로젝트 오른쪽 > properties > Project Facets  >  java버전 수정프로젝트 오른쪽 > bulid path > configure bulid path > Libraries > JRE System Library 버전 삭제후 add Library
** jsp
1. new - JSP File만들기2. 파일 열기
window -> show view -> servers ->  Tomcat v9.0 Server at localhost  두번 클릭 -web Modules  + add Web Module

주소창에서 확인 http://localhost:9090/myweb/testA.jsp

[서블릿]

HttpServlet 

1) 일반적인 서블릿은 javax.servlet.http.HttpServiet을 상속

2) service() 메서드는 컨테이너에서 호출.

3) doGet(), doPost() 메서드를 오버라이드해서 처리에 필요한 기능을 구현한다.

 

웹의 기본 전송방식
GET POST
1)서버에 있는 정보를 가져오기 위해 설계됨.
2) 240 바이트까지 전달할 수 있음
3) QUERY_STRING 환경변수를 통해 전달
형식 : http://xxx.xxx.co.kr/servlet/login?id=hj&name=hong 
4) URL노출로 보안성이 요구되는 경우엔 사용할 수 없음
5) 검색엔진에서 검색단어 전송에 많이 이용함.
1) 서버로 정보를 올리기 위해 설계됨
2) 데이터 크기의 제한은 없다.
3) URL 에 파러미터가 표시되지 않는다.

 

*종료할 때 Servers에서 정지하기. (콘솔창에서 정지 안됨.)

*종료하고 수정하기

 

[서블릿 만들기]

src/ main/java 폴더에서 만들기

패키지 명명 규칙 :  도메인의 역순으로 만든다.

서블릿은 그냥 실행이 안되기때문에 객체 생성을 해줘야한다.

extends HttpServlet

후 doGet , doPost 오버라이딩 하기

 

(WEB-INF > web.xml파일이 보이지 않을경우 > java EE Tools > Generate - 해주면 나타남)

 

<servlet>
<servlet-name>hs</servlet-name>
<servlet-class>com.yong.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hs</servlet-name>
<url-pattern>/hi</url-pattern>
</servlet-mapping>

 

http://localhost:9090/myweb/hi

 

서블릿 장점
1. 자바를 할 줄 알면 사용할 수 있다.
2. 메모리에 한번만 올라가고 재활용함.(메모리를 효율적으로 관리)
3. 자바에서 제시하고 있는 api들을 유용하게 사용할 수 있다.

 

서블릿 단점

: 단순 작업 반복이 많다.

 

[서블릿 동작 원리 라이프사이클]

1) extends HttpServlet

2) 생성자 호출 : (멤버변수를 초기화하는데 목적) 값에 대한 초기화

3) init() 오버라이딩 : 기능에 대한 초기화 목적.

4) service() 오버라이딩 : 동일한 기능을 요청하면 메모리에 한번 올라가 있는 메모리는 서비스에 올려 반복.

5) destory : 상태 종료시 호출되는 메서드(서블릿 소멸).6) web.xml에 추가.** 콘손창에서 정지하지 말고 꼭 서버에서 정지 할 것.