관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

서블릿의 기초 11 - 단원 마무리 퀴즈 문제 풀기 본문

웹 · 앱 개발/JSP & Servlet

서블릿의 기초 11 - 단원 마무리 퀴즈 문제 풀기

huenuri 2024. 8. 26. 02:46

이 단원의 퀴즈 문제는 굉장히 많다. 20 문제도 넘지만 열심히 풀어보려고 한다.


 

 

 

퀴즈로 정리합시다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

틀린 문제 및 보충할 문제 풀어보기

 

1번

우선 객체가 생성되면서 init() 메소드가 단 한번 호출된다. init() 메소드에서는 주로 초기화 작업을 한다. 그 후에는 클라이언트의 요청이 있을 때 doGet() 혹은 doPost() 메소드가 실행된다. 여러 클라이언트가 동시에 요청을 하더라도 스레드가 생성되므로 동시에 doGet() 혹은 doPost() 메소드가 실행되기 때문에 수행 속도가 빠르다.
서블릿이 더 이상 서비스를 하지 않을 경우 destroy() 메소드가 호출되는데, 예를 들면 서블릿 컨테이너가 종료(톰캣을 재가동)되거나 서블릿 내용이 변경되어 재 컴파일해서 클래스 파일이 바뀌는 경우이다.


 

2번

클라이언트에게 전송할 메시지 중 한글 깨짐을 방지하기 위한 방법

response.setContentType("text/html; charset=UTF-8"); 혹은 response.setCharacterEncoding("UTF-8");

 

입력 폼에서 입력된 한글을 깨지지 않도록 하는 방법

get 방식일 경우, 서버 설정 파일인 server.xml 파일에서 첫 번째 등장하는 <Connector> 태그를 찾아서  URIEncoding 속성을 추가해야 한다.
post 방식일 경우, request.setCharacterEncoding("UTF-8");


 

 

3번

개발자가 서블릿 이름을 바꾸더라도 사용자는 동일한 URL로 접근할 수 있도록 하기 위해서이다.


 

 

4번

Servlet의 멤버 변수는 Servlet의 객체 생성시 메모리 영역을 할당하므로 한 번 할당된 Servlet의 멤버 변수는 Servlet 객체가 메모리에서 해제될 때까지 유효하다. 요청시 마다 할당되는 것이 아니다. 


 

 

 

5번

Servlet은 PHP나 ASP와 달리 스레드(Thread)를 근간으로 하므로, 요청이 올 때마다 새로운 프로세스를 생성하지 않는다. 이런 특징으로 인해 서버의 자원을 보다 효율적으로 운영할 수 있어 성능 향상을 이룰 있다. 


 

 

 

6번

Javascript는 웹 애플리케이션의 클라이언트 측 자바 기술입니다. HTML의 정적인 페이지에 동적인 기능을 부여하는 기술이다. 나머지는 모두 서버 측 기술이다.


 

 

 

8번

Apache 웹 서버의 환경 설정 파일은 httpd.conf 입니다. server.xml은 Tomcat 서버의 환경 설정 파일이며 log4j.xml은 Log4J 툴의 환경 설정 파일이다. build.xml은 Ant 툴의 환경 설정 파일이다.


 

 

11번

 

  1. action
    • 폼 데이터가 제출될 URL을 지정한다.
    • 예: <form action="/submit_form">
  2. method
    • 폼 데이터를 전송할 HTTP 메서드를 지정한다. GET 또는 POST 중 하나를 사용할 수 있다.
    • 예: <form method="post">
  3. enctype
    • 폼 데이터를 서버로 보낼 때 인코딩되는 방식을 지정한다. 파일 업로드가 포함된 폼에서는 multipart/form-data를 사용해야 한다.
    • 예: <form enctype="multipart/form-data">
  4. target
    • 폼 제출 후 서버의 응답을 어디에 표시할지를 지정한다.
    • 예: <form target="_blank"> (새 탭에서 열기), _self (현재 탭), _parent (부모 프레임), _top (전체 창)
  5. name
    • 폼의 이름을 지정한다. 자바스크립트나 다른 클라이언트 스크립트에서 폼을 참조할 때 사용된다.
    • 예: <form name="myForm">

 

하지만 value 속성은 <form> 태그의 속성이 아니라, 폼 내부의 입력 요소들 (예: <input>, <textarea>, <button>, <select>)에 사용되는 속성이다. value 속성은 사용자가 입력 필드에 입력한 값을 지정하거나 기본값을 설정하는 데 사용된다.

예를 들어:

<input type="text" name="username" value="기본값">

 

 


 

 

 

20번

JSP는 요청시마다 Servlet으로 변환되는 것이 아니며 JSP가 변환되어 생성된 Servlet은 JSP가 수정될 때까지 한 번 변환된 Servlet이 계속 사용된다.

 

나머지 몇 개의 문제가 더 틀렸지만 이건 단답식으로 암기해야 하는 부분이라 해설을 쓸 게 없었다.

 


 

 

 

학습을 마치고

틀린 문제가 얼마나 많았는지 모른다. 1장에서도 그랬는데 절반도 못 맞추었고, 2장은 정확하게 딱 반타작을 했다. 책을 참고하면서 풀었는데도 그런다. 보지 않고 풀면 아마 10점도 못 맞았을 것 같다.

그래도 문제를 풀면서 내 실력을 알게 되고 더 많은 것들을 배울 수 있어서 정말 좋았다. 공부에 흥미도 느끼게 되고..