Servlet
Updated:
web.xml을 만들어주는 기능
servelt 생성
/** : Javadoc 만들기?
init(servelt config)
@Override public void destroy() { // TODO Auto-generated method stub super.destroy(); }만ㄷ르기
servlet 이라는 애는 요청받으면 요청받은 처리를 해서 응답해준다. -> controller
server 는 다른 이름을 가지고 있다. = servlet Container
-> 즉, 서버는 Servlet이라는 애들을 담고 있는 애다.
요청이 들어오면 (request) 서버는 응답해준다. (요청이 들어왔을 때 이 요청을 어떤 servlet에다가 처리하도록 시킬 것인지 결정해주는 것이 (url-mapping)이다. )
[
servlet 내부
request가 get방식이면 -> doGet()
post방식이면 -> doPost()]
web.xml (deployment descriptor : 배포 기술자)
서버에다가 이 프로젝트를 올렸을 때 이 프로젝트를 서버에 알려주는 역할을 한다.
우리가 프로그램을 시작했을 때 가장 먼저 보여줄 이름
http://localhost:8787/Jsp05_HelloServlet/hello.do?command=hello
http://localhost:8787/ : tomcat 서버
/ : 최상위 객체 (루트)
Jsp05_HelloServlet/ : context root -> WebContent 폴더(물리적인 디렉토리)
context-param - > context 전체에서 사용할 수 있는 변수
(어떤 서블릿이든 전부 사용할 수 있는 게 context-param이다.)
init-param은 servlet 내에 존재하는 것으로, 해당 servlet 내에서만 사용할 수 있는 변수
HelloServlet 타입의 hello라는 이름의 객체를 만들 거다.
-> HelloServlet hello = new HelloServlet();
: 몇 번째로 시작할건지.
/hello.do라고 요청이 되면 , 아까 hello라는 이름으로 생성해 둔 servelt한테 연결해줘
Servlet Life Cycle
init() -> service() -> doGet() -> destroy()
doPost()
(반복)
init -> service -> get방식이나 post방식이냐에 따라 요청을 반복처리한 후 종료
HelloServlet 생성! HelloServlet init! initParam : null contextParam : IU post 방식으로 들어옴!! {servlet}
-> initParam : null -> post
HelloServlet 생성! HelloServlet init! initParam : 정우성 contextParam : IU get 방식으로 들어옴!! [hello]
-> get
.
.
.
hello
@WebServlet(“/controller.do”)
.
.
.
HelloServlet
(HelloServlet helloServlet = new HelloSErvlet(); )
어노테이션 사용했을 때랑 xml 사용했을 때랑 다르다.
@WebServlet(“/controller.do”) 이것도 객체 하나 만드는 거다. -> A
서블릿 객체
이것도 객체 하나 만드는 거다.
<*
제일 중요한 거
-> B
앞에 hello.do 앞에 / 없으면 에러
하지만 나중에 Spring 가면 /있으면 에러
A 와 B의 경로가 절대 같으면 안된다.
객체 2개가 만들어졌다.
web.xml 은 서버가 실행될 때 가장 먼저 읽혀진다.
load-on-startup -> 1
서버가 다 실행되기 전에 읽혀서 실행됌?
html 문자열을 응답…-> 응답되는 데이터가 도큐먼트……._
Requset Scope :
클라이언트로부터 하나의 요청이 들어와서 서버가 일을 수행한 후 응답을 보낼 때까지, 계속 사용할 수 있는 scope.
그럼 reulst 를 눌렀을 때 request가 null인 이유는 응답을 보낼 때까지기 때문에 응답을 보내고 나면 없기 때문에?
servlet을 눌렀을 때 console창에 출력되는 request가 왜 null?
requset 처음으로 가서 갈때는 값이 없었는데
왜 버튼으로 수정해서 가니까 가지냐
-
- result를 눌렀을 때 requset가 왜 null 이냐
-
페이지 하나에 requset와 response가 같이 있다.
[index page] —————————> requset [result] ———————–> requset
<—————————-response <——————— response: index의 requset에 값을 저장하고, result의 requset에 값을 달라고 했기 때문에 값이 null이다.
setAttribute : 담았다
getAttribute: 꺼냈다.
get/post방식으로 보내자 -> request.getParameter();로 받자
REST(API)
RESTFUL(API)
.. CRUD
doGet get방식 Read
doPost post방식 Create
doPut put방식 Update
doDelete delete방식 Delete
——————————–명확하게 구분하자는 개념
URI = Uniforom Resource Identifier
= URL + URN
Leave a comment