상세 컨텐츠

본문 제목

[JSP/Servlet] Servlet의 특징과 맵핑

개발공부/JSP Servlet

by 임우찬 2019. 9. 12. 17:34

본문

 

1. Servlet이란?

저번 글에서

이러한 사진을 사용했었다.

여기서 java파일이 servlet이라고 보면 된다.

- servlet 문서는 jsp와는 다르게 맵핑을 해주어야 한다.

이 맵핑 방법은 두 가지 방법이 제공이 된다.

하나는 web.xml에 맵핑이 제공되는 방법

또 하나는 자바 파일에 어노테이션을 이용해 직접 맵핑하는 방법이다.


2. Servlet의 특징

- 동적 웹 어플리케이션 컴포넌트이다.

- .java 확장자이다.

- 클라이언트의 요청에 동적으로 작동하고, 응답은 html을 이용한다.

- java thread를 이용한다.

(이것이 servlet을 사용하는 이유 중 가장 큰 장점중 하나이다.)

(많은 요청이 들어오더라도 thread를 이용하다보니 서버에 부하가적게걸린다.)

- MVC 패턴에서 Controller로 이용된다.

MVC 패턴

- Servlet은, 일반 클래스와는 다르게 상속받는 슈퍼클래스가 있다.

- HttpServlet을 상속받아야 서블릿 클래스가 된다.


3. Servlet 맵핑

- 너무 길고, 보안에 노출되어 있는 경로를 간단하게 맵핑하는 것이다.

ex)

 

 

- 맵핑을 하는 방법에는 두 가지가 있다.

1. web.xml을 이용하여 맵핑한다.

2. 자바 코드의 어노테이션을 이용한다.

- 맵핑하는 이유: 우선 너무 길고, 저 주소를 모두 다 노출시키면 보안에도 문제가 생길 수 있다.

- web.xml을 이용한 맵핑은 다음과 같이 한다.

<servlet>
<servlet-name>helloHi</servlet-name>
<servlet-class>com.javalec.ex.HelloHi</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloHi</servlet-name>
<url-pattern>/heHi</url-pattern>
</servlet-mapping>

여기서 <servlet-name>은 임의의 이름을 만들어주는 것이다. 따라서 helloHi라는 이름을 만들어 주었고,

<servlet-class>는 매핑할 클래스 파일명을 패키지명을 포함하여 정확하게 입력해 주는 것이다.

<url-pattern>은 servlet-class의 클래스를 매핑할 임의의 이름을 입력합니다. 주의할 점은 '/'로 시작해야 한다는 것이다.

- 어노테이션을 이용한 방법은 다음과 같이 한다.

@WebServlet("/heHi");

web.xml이 아닌 해당 자바 코드 안에 @WebServlet이라는 어노테이션 키워드를 써주고, /로 시작하는 맵핑명을 써 주면 된다.

'개발공부 > JSP Servlet' 카테고리의 다른 글

[JSP/Servlet] JSP의 특징과 아키텍처  (0) 2019.09.12
[JSP/Servlet] 개발환경 설정  (0) 2019.09.11

관련글 더보기

댓글 영역