웹 백엔드 프로그래밍 - Servlet 작성방법 1,2
📌 웹 백엔드 프로그래밍 - Servlet 작성방법 1,2
네이버 부스트코스의 웹 백엔드 수강을 기반으로 작성된 글입니다.
1. Servlet의 2가지 작성 방법
2. Servlet 3.0 spec 이상 에서 사용하는 방법
서블릿의 기본 작성법, 라이프 사이클을 통해 웹의 동작을 이해하자!
1. Servlet의 2가지 작성 방법
- Servlet 3.0 spec 이상
- web.xml 파일 사용 안함
- 자바 어노테이션(
@
) 사용
예시
@webServlet("") @Repository("") @RequestMapping(values="")
- Servlet 3.0 spec 미만
- web.xml 파일에 등록
예시
<servlet> <description></description> <display-name>TenServlet</display-name> <servlet-name>TenServlet</servlet-name> <servlet-class>exam.TenServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>TenServlet</servlet-name> <url-pattern>/ten</url-pattern> </servlet-mapping>
2. Servlet 3.0 spec 이상 에서 사용하는 방법
실습
Servlet 3.1 spec 으로 exam31 이라는 프로젝트 생성
해당 프로젝트에 1부터 10까지 출력하는 TenServlet 작성
http://localhost:8080/exam31/ten
으로 동작하도록 설정
- Dynamic web module version 3.1 프로젝트 생성
❓ Generate web.xml deployment descriptor
3.0 이상 버전은 web.xml이 필수는 아님
다른 설정 부분을 추가해야할 부분이 있다면 반드시 web.xml을 추가해서 생성
-
Servlet 생성
-
서블릿 파일을 요청할 때 지정할 서블릿 이름을 Ten 으로 하기 위해 수정
-
doGet 메서드만 사용
- TenServlet.java 생성
package exam;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class TenServlet
*/
@WebServlet("/Ten")
public class TenServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public TenServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
}
}
- 동적으로 응답결과를 만들어내는 Servlet
요청시 서블릿이 실행 되면서 응답할 코드를 만들어 내고 응답하게 함
-
응답 처리
HttpServletRequest : 클라이언트가 요청
HttpServletResponse : 서버가 응답 -
setContentType()을 이용해 클라이언트에 전송할 데이터 타입 설정
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
//printWriter 객체 리턴받음
PrintWriter out = response.getWriter();
out.println("<h1>1-10까지 출력</h1>");
for(int i=1; i<=10; i++) {
out.print(i + "<br>");
}
out.close();
}
📍 출력 하기
Author And Source
이 문제에 관하여(웹 백엔드 프로그래밍 - Servlet 작성방법 1,2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@joajoa/웹-백엔드-프로그래밍-Servlet-작성방법-12저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)