http://localhost:8000/test/Hello
원래는 web.wml(배포서술자)파일에다가 설정해야한다.
서버 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파일이 들어오면 컴파일을 다시해야함
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로 모든 요청을 받아서 나눠주도록 처리함.
'WEB' 카테고리의 다른 글
템플릿 에진 (0) | 2020.05.25 |
---|---|
Web page scope (0) | 2020.05.25 |
pull/push (0) | 2020.05.25 |
tomcat, apatch 차이, 하는 일들/post,get / URL,URI/서블릿 (0) | 2020.05.25 |
ubuntu 실행. 카카오 미러 사이트로 저장소 바꿔서 자바 다운받기! (0) | 2020.05.23 |