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. 회원 가입 폼 만들기
백고미
백고미
  • 백고미
    백고미의 정신세계
    백고미
  • 전체
    오늘
    어제
    • 분류 전체보기 (127)
      • [ 공지사항 ] (0)
      • 정보 (15)
        • 워프레임 (6)
        • 게임 (3)
        • 군대 (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)
      • 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)
      • 일기장 (1)
        • TRH (4)
        • 스케줄 (1)
        • Els (0)
        • 프로젝트 (3)
  • 블로그 메뉴

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

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

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바