7. Hello World!

2022. 7. 8. 15:53·Java Spring/JSP와 스프링


① 서블릿 생성

src > main 에서 우클릭후 Directory를 선택해주자.

java를 눌러주자.

그럼 아래와 같이 java 폴더가 생긴다.

이제 메이븐에서 servlet을 다운해주자.

프로젝트 우클릭 후 Open Module Setting을 눌러주자.

모듈 > Dependencies > + > Jars or Directories

톰캣이 설치된 폴더의 lib내부에 servlet-api.jar이 있다. 추가해주자.

+ servlet-api.jar 파일뿐 아니라 jsp-api.jar 파일도 추가해주자.

서블릿이 추가됬는지 확인 후 OK.

 

이후 New Servlet 만들기를 진행해주자.

여기 까지 완료했다면 서블릿 생성 메뉴가 생긴다.

생성된 코드는 아래와 같다.

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;

public class HelloWorld extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

위 코드를 다음과 같이 수정해주자.

import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet(description = "My first servlet", urlPatterns = {"/hello"})
public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;

    public HelloWorld() {
        super();
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        out.append("<!doctype html><html><head><title>Hello World Servlet</title></head><body>")
                .append("<h2>Hello World  !!</h2><hr>")
                .append("현재 날짜와 시간은 : "+java.time.LocalDateTime.now())
                .append("</body></html");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}

그리고 톰캣 서버를 실행시킨후 http://localhost:8081/hello 에 들어가주자.

이렇게 뜨면 성공

② 서블릿 코드 분석(해석)

@WebServlet 어노테이션
@WebServlet(description = "My first servlet", urlPatterns = {"/hello"})

현재 클래스가 서블릿 클래임을 컨테이너에 알림.

UrlPatterns는 어떤 요청에 의해 서블릿을 호출할지 설정할수있다.

Description을 없애고 @WebServlet(urlPatterns = {"/hello"})로 해도된다.

 

doGet()
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	response.getWriter().append("Served at: ").append(request.getContextPath());
}

GET요청을 처리하는 메서드. 파라미터는(인자값) request, reponse로 한다.

ServletException과 IOExecption을 throws하고 있기 때문에 호출하는 쪽에서 예외 처리를 해야한다.

response.getWriter() java.io.PrintWriter 클래스 타입의 객체 리턴
request.getContextPath() 웹 어플리케이션 경로 리턴 메서드

 

doPost()

POST 요청을 처리하는 메서드. REST API 구현이 아닌 일반 서블릿 구현이라면 GET, POST 내부적으로 동일하게 처리한다. GET, POST를 구분해서 처리해야하는경우 별도의 코드로 구성가능.


[메인으로 돌아가기]

 

 

 

'Java Spring > JSP와 스프링' 카테고리의 다른 글

9. JSP 기초 종합 예제  (0) 2022.07.09
8. 계산기 구현  (0) 2022.07.08
6. ToDo리스트 앱 만들기  (0) 2022.07.07
5. 회원 가입 폼 만들기  (0) 2022.07.03
4. 동적 웹 프로젝트 생성과 톰캣 연동(JSP, 이클립스 구조)  (0) 2022.07.03
'Java Spring/JSP와 스프링' 카테고리의 다른 글
  • 9. JSP 기초 종합 예제
  • 8. 계산기 구현
  • 6. ToDo리스트 앱 만들기
  • 5. 회원 가입 폼 만들기
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • [ 공지사항 ] (0)
      • 정보 (16)
        • 워프레임 (6)
        • 게임 (3)
        • 군대 (1)
        • 이민 (1)
        • 애플 (1)
      • Java Spring (43)
        • JSP와 스프링 (34)
        • Tip (9)
      • Spring boot (1)
        • Tip (1)
      • 직업 정보 (2)
        • 경찰 공무원 (2)
        • AAFES (0)
        • HD GFD (0)
      • 리뷰 (1)
        • 인터넷 (1)
      • Life (2)
        • 운동 (1)
        • 자격증 (1)
      • 소스모드 (28)
        • CSGO (7)
        • CSS (0)
        • HL2DM (3)
        • L4D2 (1)
        • BMS (0)
        • TIP (16)
        • Extension (1)
        • 문법 (0)
      • C# (4)
        • s&box (4)
      • LUA (8)
        • Garry's Mod (8)
      • 일기장 (9)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
      • Resource (11)
        • Player Model (1)
        • Npc Model (1)
        • Weapon Model (2)
        • PropPhyics (6)
        • PropDynamic (1)
        • Texture (0)
        • Animation Texture (0)
        • Overlay (0)
        • Effect Sound (0)
        • Particle (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • John John한 블로그
  • 공지사항

  • 인기 글

  • 태그

    경찰시험 응시 자격
    경찰 공무원 응시 자격
    경기북부병무청
    키벨류
    윈도우10 닌자캣
    경기북부 병무청 가는 법
    윈도우10 1주년
    스쿼트 운동 효과
    원동기장치면허
    경찰공무원 선택과목
    윈도우10 고양이
    순경 가산점
    운전면허 종류
    경기북부 병무청 가는길
    경기북부병무청 망월사
    경기북부병무청 회룡역
    경기북부병무지청
    병무청가는길
    병무청가는법
    공찰공무원 필수과목
    경찰공무원 가산점표
    경기북부 병무청
    경찰 간부후보생
    경기북부병무청 가는법
    윈도우10 참가자 프로그램
    경찰 가산점표
    병무청 가는 법
    경기북부 병무청 가는 길
    병무청 가는 길
    발표 PPT
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
백고미
7. Hello World!
상단으로

티스토리툴바