서블릿 / 2
- context : 프로젝트의 한 단위 (봉사신청,커뮤니티 처럼...)
- xml : 웹 애플리케이션에 대한 구성정보를 담아놓은 파일
- 이클립스는 동적 메뉴를 갖고 있다(이미 실행중임에도 아이콘 누르면 레이아웃이 바뀜)
- 우리가 해야할일은 동적으로 웹페이지가 생성될수있게하는 코드를 만드는 것
- WEB-INF : 약속되어있는 폴더(이 공간은 사용자에게 주면 안되는곳이다. 그래서 우리가 작성한 코드는 여기에 저장)
- 지금까지 우리는 자바 실행환경이 직접 실행해주는 코드를 만들었지만, 이제 우리가 해야할것은 톰캣이 실행하게 하는 코드를 만들어야 한다
- request가 입력도구이다 / response는 출력도구 이다
- 웹서버에서 운영하고 있는 공간 : 배포 디렉토리
web.xml은 Java 웹 어플리케이션에서 사용되는 배치 서술자(Deployment Descriptor) 파일입니다. 이 파일은 웹 어플리케이션의 구성 정보를 담고 있으며, 서버에 배치할 때 해당 어플리케이션의 설정을 지정하는 데 사용됩니다.
웹 어플리케이션이란, 웹 브라우저에서 요청(request)을 받아 처리하고, 그 결과를 응답(response)으로 보내는 서버 사이드 어플리케이션을 말합니다. 이러한 웹 어플리케이션을 개발할 때는 Servlet, JSP 등을 사용하게 되는데, 이때 web.xml 파일을 사용하여 웹 어플리케이션을 구성하고 설정할 수 있습니다.
web.xml 파일에는 웹 어플리케이션의 정보뿐만 아니라, Servlet, JSP 등과 같은 웹 구성 요소의 설정 정보도 포함됩니다. 예를 들어, Servlet 클래스를 매핑(mapping)하거나, 필터(filter)를 설정하거나, 세션(session) 관리를 위한 설정 등을 할 수 있습니다.
보통 web.xml 파일은 웹 어플리케이션의 WEB-INF 디렉터리에 위치하며, 웹 어플리케이션이 서버에 배치될 때 함께 배치됩니다. 최근에는 Java 웹 개발의 추세가 XML 기반의 web.xml에서 애노테이션(annotation) 기반의 설정으로 이동하고 있어서, web.xml 파일이 필요 없는 경우도 있습니다.
- 서블릿 클래스명 붙이기(이 코드를 쓰면 hello라는 클래스를 찾아간다)
<servlet>
<servlet-class>Hello</servlet-class>
</servlet>
- 서블릿이 로드될때 바로 메모리에 올라가,실행되게 하고싶으면 loat-on-startup / 1이라고 쓴거는 우선순위를 정해준것(0이 제일먼저)
<servlet>
<servlet-class>Hello</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
- 하지만 위의 방법은 비효율적이다
- 사용자 요청을 해야만 메모리에 올라가는 버전
<servlet>
<servlet-name>a</servlet-name> //a라고 이름 붙여줌
<servlet-class>Hello</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>a</servlet-name>
<url-pattern>nana</url-pattern> //url 매핑(url을 nana로 지정해주는것)
</servlet-mapping> //별칭 붙여주는 느낌?
//이렇게 Servlet을 등록하고 매핑하면,
//브라우저에서 /nana URL을 요청할 때 Hello Servlet이 실행되어 응답을 반환하게 됩니다.
- http://localhost:8080/rland/nana 를 실행하면 전에 만들어둔
Hello Servlet!!
이 잘 나온다~~ 신기하다
- bild는 자동
- ct+fn+f11 : 서버 실행