본문 바로가기
  • 실행력이 모든걸 결정한다
Spring 사전 준비/JSP Servlet

[JSP Servlet] Servlet 문서 작성법

by 김코더 김주역 2020. 11. 24.
반응형

프로젝트 생성법은 저번 포스팅에서 다루었기 때문에 바로 서블릿 파일을 만드는 법을 소개한다.

([JSP Servlet] MVC란? / JSP 문서 작성법)

kimcoder.tistory.com/188?category=905113

 

1. Servlet 문서 생성

1) WebContent -> New 에서 Servlet이 없다면 Other로 들어가서 검색하면 된다.

 

2) Next 클릭

 

3) Java package에서 패키지명을 지정하고, Class name에서 클래스명을 지정한다. Class명은 가급적 대문자로 시작해야 한다. Superclass에서는 자신 클래스를 상속해주는 부모 클래스를 지정한다. 

 

 

4) URL 매핑을 따로 하고싶다면 Edit로 수정 가능하다.

URL mappings : 경로가 너무 길고, 보안에 노출되어 있을 때 필요한 매핑이다. 실제 URL주소도 이 URL mappings에서 지정한 별명이 대신 적용된다.

그리고 Next 클릭

 

5) Finish

 

프로젝트 익스플로러 창을 확인해보면 src에서 여러분들이 만든 패키지안에 잘 생성 되었을 것이다.

 

2. Servlet 문서 작성법

이렇게 생성된 서블릿 파일의 소스 코드를 보면 어느 정도의 틀은 짜여서 제공된다.

1 - 5) 의 첨부사진을 보면 doGet, doPost에 체크가 되어 있었는데 이 두 개의 메소드를 자동으로 생성해준 모습이다.

본인이 따로 작성해준 소스 코드는 31줄의 콘솔 출력문밖에 없다.

여기서 주목해야 할 부분을 빨간 상자로 표시해두었다.

response 클래스의 getWriter() 함수는 웹 서버 페이지에 직접 출력된다는 것을 알 수 있고,

System.out.println() 함수는 당연히 콘솔창에 출력된다.

 

또, 짚고 넘어가야 하는게 있는데 http://localhost:8181/hellojsp/Hellojsp 에서 Hellojsp은 1 - 4) 에서 언급했듯이, URL mappings 에서 지정한 이름이 내부적으로 적용된 것이다. 본인은 따로 특별히 매핑을 하지 않고 그냥 클래스명과 동일하게 했기 때문에 외부적으론 구별이 불가능하지만, 내부적으로는 Name이 아닌 URL mappings의 것으로 접근된 것임을 알고 넘어가자. 참고로, 13줄에 있는 어노테이션에서도 URL mappings의 것이 적용된다.

 

+추가1) web.xml에서 URL mappings 설정

Servlet을 생성했을 때 매핑을 하지 않았거나 기존에 설정했던 매핑을 변경하고 싶을 때, web.xml에서도 가능하다.

web.xml 파일은 기본적으로 WebContent -> WEB-INF에 있으며, 빨간 상자로 표시해둔 것처럼 수정하면 된다.

매핑이 Hellojsp 에서 hj로 바뀐 것을 볼 수 있다. (매핑 별명 앞에는 꼭 /을 붙이자)

 

<servlet-name> 에서는 개발자가 임의로 서블릿명을 지정할 수 있다.

 

+추가2) Servlet에서 URL mappings 설정

빨간 상자로 표시해둔 어노테이션 키워드로 매핑을 설정하는 방법도 있다.

 

추가1,2 둘다 적용도 가능하다. 즉, 주소창에서 hj,hj2 둘다 작동이 된다는 것이다. 

반응형

댓글