이클립스에서 perspective를 javaEE로 바꿔준다..

Id와 비밀번호를 입력하고 로그인버튼을 누르면 000님 안녕하세요 or 에러메세지가 뜬다.

이것은 정적인게 아니라 동적인 페이지이다!

 

Dynamic Web Project를 만들어주면 된다!

 

어떤 사이트에 들어가면 http://~~.com 뒤에 아무것도 없는게 있다.그러면 이게 최상위 그냥 /을 의미한다. 이 경우 /가 Context root인것이다! 만약 Context root를 hs라고 하면 http://~~.com/hs라고 접속했을때 이 프로젝트 안을 실행한다고 이해하면 된다!

 

3.0 이상버전에서는 generate web.xml deployment descriptor을 체크 안해도 된다! 자동 어노테이션 처리가 가능하기 때문에

 

 

helloServlet밑에는 src 폴더와 webContext 폴더가 생기는데 이때 src에는 Java파일을 만들고 webContext에는 java제외 파일 (html,css,js,jsp 등)을 만들면 된다.

 

그 다음에 src을 우클릭해서 클래스를 만들어준다.

Servlet을 implements하면 여러가지 함수가 오버라이드 되어야한다. 하지만 모든것이 필요한것은 아니다.

destroy() : 메모리에서 제거, 자원반납

init() : 초기화

service(request, response) : 클라이언트의 요청과 응답을 처리, 모든 로직을 처리

...등등

 

근데 여기서 service를 제외한 나머지는 필요가 없다. 그렇기 때문에

servlet <-----GenericServlet을 사용한다.

 

근데 또 Get과 post일때를 항상 나눠주어야한다는 문제점이 발생한다

그래서 추상클래스가 없는 HttpServlet을 implements한다! 하나이상의 함수만 오버라이드 하면 된다. doGet이나 doPost중에 하나만 받아도 된다!

 


정리!!!!!!

 

서블릿을 만들때는 이런식으로 만든다.

 

 

 

컨텍트 루트 다음에 서블릿으로 들어오는것이다!!!!

 

 

근데 페이지를 이동하는 방법이 3가지가 있다. post라고 명시한걸 제외하면 모두다 get방식이다!

그럼 doGet을 선택해준다!

여기서 doGet만 살려도 된다!

 

이 기본 예제를 써놓고 ctrl + f11로 실행한다.

 

 

그러면 브라우저에는 아직 아무것도 안뜨지만 localhost://~/hs/hi 창이 뜨고 콘솔창에도 내용이 찍힌다.

 

그런데 이렇게 콘솔창 말고 화면에 띄워줘야 클라이언트가 볼수 있다!!!

왜냐면 client가 서버에게 helloServlet을 보여줘 하면 서버는 응답을 해야한다. 

그러기 위해서는 sysout말고 html로 만들어줘서 화면으로 응답을 해줘야 클라이언트가 볼수 있다.

 

근데 이렇게 쓰면 안된다. 출력객체를 이용해서 써주어야한다.

 

지금 위에는 WAS 서버를 돌리고 있는것이다. 이제야 클라이언트한테는 화면으로 보인다.

짜잔...

 

한글도 넣어볼까?
한글은 안나옴...was가 한글을 인식못함

 

이럴때는 나는 text로 보낼거지만 html로 인식하라고 명령한다. 그리고 utf-8로 보낸다.

 

드디어 잘 나옴
줄바꿈 해줄려면 br해준다.

 

 

 

 

 

 

 

 

 

 

 

 

 

+ Recent posts