-
서블릿/JSP <3>공부 이야기/JSP 2020. 2. 14. 22:54
1. Servlet 프로그램으로 브라우저 화면에 문자 출력
- 콘솔에서 출력하는 System.out 과는 다르게, 화면 UI에서 출력을 해야 한다.
- 이는 안드로이드 프로그래밍 방식과 유사하다.
- service 메소드의 response 전달 인자를 활용해서 웹 화면에서 원하는 데이터를 출력한다.
- Stream -> Print -> out 을 이용해서 파일 I/O 하듯이 원하는 데이터를 출력시킨다.
- 또는 PrintWriter 클래스와 getWriter를 사용해서 간단하게 구현하는 방법도 있다. (문자열 출력에 한함.)
2. 이클립스 IDE를 이용해서 서블릿을 좀 더 편한 방법으로 하기
- 프로젝트 관리(컴파일, 파일 배치, 실행 등)와 코드 수정을 간단하게 할 수 있도록 도구를 사용한다.
- 이 때 Dynamic Web, Tomcat을 사용하기 위해선 JAVA EE 버전의 Eclipse를 설치해야 한다.
- 또는 다음과 같은 방법으로 기존 버전에서 Plug-in 하는 방법이 있다.
참고)
[플러그인]Java EE 플러그인 설치(Java 프로젝트에서 web,jsp,servlet이 안뜰 때)
간혹 jsp 사용을 위해서 프로젝트를 파다가 dynamic웹을 눈씻고 찾아봐도 없는 경우가 있다. 그러나 인터넷에서보면 아무나 잘 사용하고 있다. 문제는 아무리 찾아봐도 내 이클립스에는 없다는 것이다. 도대체 어..
kamang-it.tistory.com
- 정적인 방법은 단순히 응답-호출의 방식이지만 동적인 방법은 서블릿 프로그램 선택, 프로토콜 변환, DB 검색, 전처리매핑과 같이 추가적인 기능 구현이 가능하기 때문이다.
- 설치가 완료된 경우 New Project -> Dynamic Web Project를 선택한다.
- 이 때 유의할 점은 Apache Tomcat 9.0 버전을 선택한 후, 다운로드한 경로를 찾아주어야 한다.
Tomcat 9.0 버전 환경변수가 설정되어있던 것인지 몰라도 알아서 세팅되어 있었다..... - 이후, 다음과 같은 일련의 순서를 통해 서블릿 프로그램을 만들도록 한다.
1) index.html 파일 만들기
패키지 -> WebContent에서 new -> index.html 파일을 새로 생성한다.
2) chrome에서 런타임하기
- 처음 컴파일을 할 때엔 이클립스 내의 기본 브라우저에서 실행하게 된다. 이를 바꾸기 위해선 Windows -> WebBrowser -> Chrome을 선택해준다.
3) root 폴더에서 시작하도록 하기.
- index.html 파일을 만드는 것까지는 좋았으나.... root가 아닌 context 형식으로 파일이 만들어진 것이다. (다른 물리적 공간)
- 따라서 이를 root화 시켜주기 위해서는,,
- 직접 생성한 프로젝트의 오른쪽 버튼을 누른 후, property 탭을 클릭한다.
- 그 중에서 Web Project Setting에 들어간 후 root를 [ / ] 로 입력해준다.
4) Web.xml을 이용해서 서블릿 매핑하기
- 기존 Tomcat에서 만든 Web.xml을 그대로 복사붙여넣기를 한 후, 변환될 클래스 (= 서블릿)의 패키지명만 변경해주면 된다.
Web.xml에서 서블릿-매핑을 하는 방법 hello 라는 URL 패턴으로 Nanai 서블릿 클래스가 생겼다! - XML이지만 대소문자를 구분한다. 꼭 유의해야 함.
- 하지만 XML을 이용해서 서블릿-매핑을 하는 방법은 조금 복잡하다. 다음은 Annotation을 이용해서 서블릿-매핑을 할 수 있도록 한다.
3. Annotation 방식을 사용해서 Servlet - mapping 구현하기
- 기업형 어플리케이션을 제작하는 경우 공유 파일인 Web.xml에 모두 접근하는 것보다는 어노테이션을 이용해서 독립적이면서 유연하게 개발하는 것이 옳다고 보여진다.
- 따라서 다음과 같은 방법으로 web.xml에서 하듯이 서블릿-매핑을 구현해보았다.
- 먼저 서블릿 프로그램(=class) 상단에 다음과 같이 url-pattern을 포함한 WebServlet 어노테이션을 기입한다.
- 그리고 다시 web.xml에 들어간 다음 metadata-complete 값을 false로 바꿔주면 된다.
- 참고로 서블릿 버전 3.0 부터 가능한 방식이다.
- 가끔 오류가 발생할 수 있는데, Tomcat이랑 Eclipse를 모두 껐다가 다시 켜면 된다. (고스트...!)
출처) https://www.youtube.com/watch?v=b_YnVlJmZ7Q&list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd&index=10
'공부 이야기 > JSP' 카테고리의 다른 글
tomcat - startup.bat 실행 오류 (0) 2023.07.09 서블릿/JSP <2> (0) 2020.02.14 서블릿/JSP <1> (0) 2020.02.14