웹서버 만들기(3)
Servlet 에서 클라이언트에게 JSP 페이지 보여주기
- 서버 구조 ( MVC )
클라이언트 <> ningx > servlet > jsp ^─────────────────┘
- Servlet 은 controller 역할을 한다.
- JSP 는 view 역할을 한다.
Java 프로젝트 만들기
- servlet 을 위한 java 프로젝트를 만들어 보자. 폴더를 다음과 같은 구조로 만들어 주자.
- 프로젝트 폴더를 생성한다.
src/main/java
폴더에 자바 소스코드 또는 패키지를 넣을 것이다.bin/classes
폴더에 컴파일 이후의 파일을 저장할 것이다.lib
폴더는 서드파티 라이브러리 .jar 파일을 저장하는 곳이다.
Servlet을 위한 Java 소스코드 작성하기
cd src/main/java
폴더로 이동하자.- 패키지 경로를 만들고 패키지 경로로 이동한다.
src/main/java/com/example/app
app
폴더에 App.java 파일을 만들어준다. 그리고 다음 내용을 추가해주자.- 컴파일하기 전 servlet-api.jar 파일을 lib 폴더에 넣어줘야한다.
servlet-api.jar
파일은apache-tomcat-10.1.7/lib/servlet-api.jar
에 있다. - 컴파일을 해보자. 위의 프로젝트 경로를 잘 알아두자. 자바 프로젝트의 루트 위치에서 다음 명령을 실행시켜주자.
-cp
에는 서드파티 라이브러리(.jar 파일)가 있는 경로를 적어주면 된다.-sourcepath
는 소스코드 또는 패키지가 저장되는 경로를 적어주면된다.-d
는 컴파일 결과가 저장되는 위치를 적어주면된다. bin/classes
폴더안에 컴파일 결과가 저장된 것을 확인해 볼 수 있다.
Servlet과 Jsp 동작 하기
WEB-INF
처음구조myWeb/ROOT/WEB-INF/classes
폴더로bin/classes
안에 있는 com 폴더를 옮겨주자. 그러면WEB-INF
의 구조는 다음과 같다.
이제 사용안 할 전 단계에서 만들었던classes/App.class
파일은 삭제해주자.- 그리고
WEB-INF
폴더에 test.jsp 파일 만들어주자. 그리고 다음 내용을 추가해 주자. - web.xml 파일도 수정해줘야 한다. 수정을 안해주면 자바 클래스를 못찾는다.
<servlet-class>App</servlet-class>
을<servlet-class>com.example.app.App</servlet-class>
로 변경해 줘야한다. - 최종적으로 나오는
WEB-INF
폴더의 구조는 다음과 같다. - 톰캣을 재시작해주면 된다.
./apache-tomcat-10.1.7/bin/shutdown.sh
톰캣 중지./apache-tomcat-10.1.7/bin/startup.sh
톰캣 시작
그리고 브라우저를 통해http://localhost
orhttp://localhost:8080
로 접속하면 다음과 같은 화면이 나올 것 이다. - 다음 구조로 서버가 동작하고 있다.
클라이언트 <> ningx > servlet(App.java) > jsp (test.jsp) ^─────────────────────────────┘
댓글남기기