본문 바로가기
복습노트

[인프런] spring MVC 1편

by summer_light 2023. 5. 25.

1. 프로젝트 생성

스프링 초기 설정 - generate 하면 zip 압축 파일이 다운받아지고, 이 다운 받은 파일을 압축을 풀어 Open as Project 해주기
lombok 다운 및 적
enable annotation processing 체크

 

2. Hello서블릿

debug 에서 정보 나오도록 하는 기능 application.properties 에서 추가

welcome page 추가 

package hello.servlet;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan //서블릿 자동 등록
@SpringBootApplication
public class ServletApplication {

   public static void main(String[] args) {
      SpringApplication.run(ServletApplication.class, args);
   }

}
package hello.servlet.basic;

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

import java.io.IOException;

@WebServlet(name = "helloServlet", urlPatterns ="/hello") // /hello로 오면 이 서블릿이 실행되는 것
public class HelloServlet extends HttpServlet { //extends HttpServlet! 

    @Override //ctrl + O로 override할 메소드 찾아오기
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("HelloServlet.service");
        System.out.println("request = " + request);
        System.out.println("response = " + response);

        String username = request.getParameter("username"); //reqest.getParameter로 url에 입력하는 /hello?username="kim" 같은 값을 얻어낼 수 있다.
        System.out.println("username = " + username);

        response.setContentType("text/plain"); //이 둘은 ContentType 에 들어간다(헤더 정보)
        response.setCharacterEncoding("utf-8"); //이 둘은 ContentType 에 들어간다  //문자 세트, 즉 인코딩 정보를 알려주어야 함
        response.getWriter().write("hello " + username); //getWriter().write: 얘는 body에 나타남
    }
}
//application.properties
logging.level.org.apache.coyote.http11=debug;

'복습노트' 카테고리의 다른 글

코테 전에  (0) 2023.09.08

댓글