Backend/Backend 공통

[Backend]Eclipse에서 동적 웹 프로젝트 및 서블릿 생성하기

GAEBAL 2022. 3. 26. 01:22
728x90

동적 웹 프로젝트(Dynamic Web Project)란?

말 그대로 동적인 웹 프로젝트이다.

PHP, JSP, ASP, Servlet 등과 같은 파일들을 만드는 프로젝트이다!

그럼 이제 Eclipse에서 어떻게 생성을 하는지 볼게여

 

 

Dynamic Web Project 생성 방법

아 맞다 그리고 이거 동적 웹 프로젝트 생성할 때는 Perspective를 Java EE 버전으로 바꾸고 마우스 우클릭을 해야 이 사진처럼 보임!!!

 

Dynamic Web Project 클릭
사용할 서버(여기에서는 톰캣 9.0) 선택
Next
Next
여기서 Context root를 설정할 수 있음! 보통 소문자로 시작하고 뒤에 servlet은 빼줌!
짠 하고 만들어진 모습

 

 

 

서블릿(Servlet)이란?

클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술

클라이언트가 어떤 요청을 하면 그에 대한 결과를 응답해주어야 하는데, 이런 역할을 하는 자바 프로그램이라고 보면 됨!!!

 

src에는 java를 webcontent에는 웹관련 html,css,js 등등을

  • java + web 을 servlet이라 함 → 얘는 java EE 버전에 포함되어 있음
  • java EE를 위해서

 

Servlet의 특징

  • 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트
  • html을 사용하여 요청에 응답한다.
  • Java Thread를 이용하여 동작한다.
  • MVC 패턴에서 Controller로 이용된다.
  • HTTP 프로토콜 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다.
  • UDP보다 처리 속도가 느리다.
  • HTML 변경 시 Servlet을 재컴파일해야 하는 단점이 있다.

 

 

얘가 있기 때문에 서블릿 사용 가능

 

 

Servlet 생성 방법

위에서 만든 Dynamic Web Project의 Java Resources의 src 파일 안에 만들 수 있음!
servlet의 이름 정하기
밑에서 URL 매핑값을 바꿔줄 수 있음!

 

 

클라이언트가 서버한테 요청 (데이터를 보냄) 두가지 방식 → GET, POST

페이지 이동 방식

  1. 링크
  2. 주소 입력
  3. Form
    1. GET
    2. POST

→ POST 방식이라고 명시해주지 않는 이상 다 GET 방식!

GET 방식인지 POST 방식인지 여기서 선택
실행할 때 뭐는 메모리에 올려주고(로드) 뭐는 빼고 싶고 그런거 선택할 수가 있음

 

 

기본 브라우저 선택 가능

 

Servlet 예제

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/hs")
public class HelloSsafy extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();
		
		out.println("");
		out.println("<html>");
		out.println("	<body>");
		out.println("	Hello Ssafy!!!<br>");
		out.println("	안녕하세요 여러분~");
		out.println("	</body>");
		out.println("</html>");
	}

}

서블릿은 기본적인 구조할 때는 ㄱㅊ지만, 복잡한 디자인은 서블릿으로 쓰기 힘듦

그래서 나온게 JSP임!

서블릿html in Java

JSPJava in html(html 쫙 코딩하고 중간중간에 자바를 넣으면 되겠다는 발상!)

728x90