본문 바로가기

WEB

servlet 파일 만들기, mapping시켜주는 거

servlet파일 .java파일 임.
Class name에 대문자로 파일명

 

http://localhost:8000/test/Hello

 

원래는 web.wml(배포서술자)파일에다가 설정해야한다.

 

@Annotation - 컴파일러가 읽는 주석

 

 

 

서버 Start할 때 tomcat이 web.xml 본 뒤에

@Webservlet 어노테이션을 들고 있는 애들 New해서 메모리에 띄워주고

mapping 시켜줌

 

 

 

 


Class User {

int id;

String username;

getter

setter

}

 

최근에는 web.xml 파일에서 설정을 하지 않는다.

 

위 클래스를 xml 파일로 바꾸면

<User>

<id></id>

<username></username>

</User>

 

json

"User:" {

"id","username"

}


->@WebServlet 을 붙여두면 

서버 스타트할 때 일을 한가지 더 한다.

@WebServlet 붙어진 코드를 다 찾아내서 new를 함.

 

결국 new는 tomcat이 하는 것이다.

new하는 방식은 두가지 방식이 있다.

 

1. web.xml

2. @WebServlet이 있다.

 

 

 

/Hello를 요청하면 Hello 클래스를 가져옴

Hello 대문자보단 소문자가 좋음

 

.java 파일을 수정하면 .class 파일로 바꿔야해서(컴파일) 서버 재시작해야함

->java파일이 들어오면 컴파일을 다시해야함

 

URI

 

URL 바로 파일로 찾아가기/ 내 파일명 노출...

 

URI 방식

 

response만 찾으면 java코드에 html를 넣을 수 있다.

 

 

PrintWriter out = response.getWriter();

String name= "cos";

out.println("<html>")~name</html>

 

URL - 파일 위치를 찾아가는 법 - html 코드에 java를 집어 넣는것

URI - (식별자를 찾아감)서블릿 파일 - java 코드에 html 코드를 집어 넣는 것

 

톰캣 7.0까지만해도 서버재시작해야함

톰캣8.0부터는 reload를 다시함

 

 

 

 

 

 

 

mapping하는 거

3가지 방법

1.(배포서술자) web.xml설정

2. @WebServlet

3. FrontController 

 

 

 

(배포서술자) web.xml설정 - 식별자를 보고 그 파일을 찾아갈 수 있게 설정을 해줘야하는데

 

서블릿 파일마다 다 코드를 적어야 하는데 그럼 너무 코드가 많아지니까...

 

anotation (@WebServlet)으로 mapping함.

 

톰켓이 실행할 때 클래스파일 다 훓어서 @WebServlet 을 다 찾아서 new해서 heap에 다 메모리에 띄워서 자기가 다 관리해줌. 

 

톰켓이 자바파일 들어오면 저장하면 이제는 자동으로 리로드해준다.

 

 

 

아니면 web.xml 안에 서블릿 FrontController로 모든 요청을 받아서 나눠주도록 처리함.