TIL) JSP - 서블릿 Servlet

oatraspberry·2022년 12월 27일
post-thumbnail

한글 코드

ksc 5601 - 한국 표준 한글 코드 체계, 완성형 코드
cp949 = MS949 = Windows949 - MS사의 한글코드 체계
euc-kr - 유닉스 운영체제 상의 한글 코드 체계
utf-8 - 국제 표준 다국어 코드 체계, 현재 가장 많이 사용
utf-16 - utf-8 포함한 확장 코드 체계

서블릿

서버쪽에서 실행되면서 클라이언트의 요청에 따라 동적으로 서비스를 제공하는 자바 클래스
JSP 이전 세대의 동적 웹페이지 생성 언어
Server + Applet의 약어

특징

  • 서버 쪽에서 실행되면서 기능을 수행한다
  • 기존의 정적인 웹 프로그램의 문제점을 보완하여 동적인 여러가지 기능을 제공한다.
  • 스레드 방식으로 실행된다.
  • 자바로 만들어져 자바의 특징(객체지향)을 가진다.
  • 컨테이너에서 실행된다.
  • 컨테이너 종류에 상관없이 실행된다(플랫폼 독립적)
  • 보안 기능을 적용하기 쉬움.
  • 웹 브라우저에서 요청 시 기능을 수행한다.

오류


The superclass "javax.servlet.http.HttpServlet", determined from the Dynamic Web Module facet version (3.0, was not found on the Java Build Path
라는 오류가 떴다. 처음에 new - Dynamic Web project를 선택해서 새로운 동적 웹 프로젝트를 만들 때 Target runtime에서 Apache Tomcat v10.0을 선택하지 않고 만들었기 때문이였다.

그래서 원래 만들어진 폴더를 삭제한 후 Target runtime에서 Apache Tomcat v10.0을 선택한 후 다시 만들었더니 정상 작동되었다.

서블릿 매핑

[http://localhost:8080/projectName/servlet/com.servlet.ServletEx]
위 주소처럼 긴 주소는 보안상 취약하다는 문제가 있고 복잡하다는 단점이 있다.
[http://localhost:8080/projectName/SE]
따라서 개발자가 이렇게 간단하게 정리한다면 단점을 해결할 수 있는데 이를 매핑이라고 한다.

매핑하는 방법

1. web.xml파일을 이용

<servlet>
	<servlet-name>servletEx</servlet-name>
    <!-- 매핑하려는 서블릿 클래스 -->
    <servlet-class>com.servlet.ServletEx</servlet-class>
</servlet>
<servlet-mapping>
	<!-- 개발자가 지정한 파일명 -->
	<servlet-name>servletEx</servlet-name>
    <!-- 변경할 가명 -->
    <url-pattern>/SE</url-pattern> 
</servlet-mapping>

2. Java Annotation 이용

@WebServlet("/SE1")
profile
개발자가 될테야

0개의 댓글