1 분 소요

웹서버 만들기(1)
웹서버 만들기(2)

Servlet 에서 클라이언트에게 JSP 페이지 보여주기

  • 서버 구조 ( MVC )
    클라이언트 <> ningx > servlet > jsp
                  ^─────────────────┘
    
  • Servlet 은 controller 역할을 한다.
  • JSP 는 view 역할을 한다.

Java 프로젝트 만들기

  • servlet 을 위한 java 프로젝트를 만들어 보자. 폴더를 다음과 같은 구조로 만들어 주자.
    1. 프로젝트 폴더를 생성한다.
    2. src/main/java 폴더에 자바 소스코드 또는 패키지를 넣을 것이다.
    3. bin/classes 폴더에 컴파일 이후의 파일을 저장할 것이다.
    4. lib 폴더는 서드파티 라이브러리 .jar 파일을 저장하는 곳이다.

Servlet을 위한 Java 소스코드 작성하기

  1. cd src/main/java 폴더로 이동하자.
  2. 패키지 경로를 만들고 패키지 경로로 이동한다.
    src/main/java/com/example/app
  3. app 폴더에 App.java 파일을 만들어준다. 그리고 다음 내용을 추가해주자.
  4. 컴파일하기 전 servlet-api.jar 파일을 lib 폴더에 넣어줘야한다. servlet-api.jar 파일은 apache-tomcat-10.1.7/lib/servlet-api.jar 에 있다.
  5. 컴파일을 해보자. 위의 프로젝트 경로를 잘 알아두자. 자바 프로젝트의 루트 위치에서 다음 명령을 실행시켜주자.
    -cp 에는 서드파티 라이브러리(.jar 파일)가 있는 경로를 적어주면 된다.
    -sourcepath 는 소스코드 또는 패키지가 저장되는 경로를 적어주면된다.
    -d 는 컴파일 결과가 저장되는 위치를 적어주면된다.
  6. bin/classes 폴더안에 컴파일 결과가 저장된 것을 확인해 볼 수 있다.

Servlet과 Jsp 동작 하기

  1. WEB-INF 처음구조
  2. myWeb/ROOT/WEB-INF/classes 폴더로 bin/classes 안에 있는 com 폴더를 옮겨주자. 그러면 WEB-INF 의 구조는 다음과 같다.
    이제 사용안 할 전 단계에서 만들었던 classes/App.class 파일은 삭제해주자.
  3. 그리고 WEB-INF 폴더에 test.jsp 파일 만들어주자. 그리고 다음 내용을 추가해 주자.
  4. web.xml 파일도 수정해줘야 한다. 수정을 안해주면 자바 클래스를 못찾는다.
    Pasted image 20230404195832
    <servlet-class>App</servlet-class><servlet-class>com.example.app.App</servlet-class> 로 변경해 줘야한다.
  5. 최종적으로 나오는 WEB-INF 폴더의 구조는 다음과 같다.
  6. 톰캣을 재시작해주면 된다.
    ./apache-tomcat-10.1.7/bin/shutdown.sh 톰캣 중지
    ./apache-tomcat-10.1.7/bin/startup.sh 톰캣 시작
    그리고 브라우저를 통해 http://localhost or http://localhost:8080 로 접속하면 다음과 같은 화면이 나올 것 이다.
    Pasted image 20230404200357
  7. 다음 구조로 서버가 동작하고 있다.
    클라이언트 <> ningx > servlet(App.java) > jsp (test.jsp)
                  ^─────────────────────────────┘
    

참고사이트

댓글남기기