프로젝트 생성은 스킵

생성에서 jar가 아닌 war를 쓰기 왜냐면 우리는 jsp를 써야하기때문임

jar를 쓰면 내장 톰캣 war는 톰캣서버를 별도로 쓸때 씀 걍 둘다 됨 보통은 jar씀

그리고 포스트맨을 다운로드 받도록 하자

서블릿은 톰캣 같은 웹 애플리케이션 서버를 직접 설치하고, 그위에 서블릿 코드를 클래스 파일로 빌드해서 올린 다음, 톰캣 서버를 실행하면 된다. 하지만 이 과정은 엄청 귀찮다.

스프링부트는 톰캣 서버를 내장하고있으므로 톰캣서버 설치 없이 편리하게 서블릿 코드를 실행할수있다.

그러면 스프링부트 환경에서 서블릿을 등록하고 사용해보자

@ServletComponentScan//이게 하위패키지 하고 다 뒤져서 서블릿 실행할수있도록 도와줌(서블릿 자동등록)
@SpringBootApplication
public class PjgMvcApplication {

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

}

//name= 서블릿 이름, urlPatterns=url매핑
@WebServlet(name="helloServlet",urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("HelloServlet.service");
    }
}

이런식으로 서블릿을 만들어주면 /hello로 접근을 하면 이 서비스라는것이 실행이된다.

?username=kim

이걸 쿼리 파라미터라고 하는데요 서블릿에서는 굉장히 쉽게 꺼낼수있습니다.

@WebServlet(name="helloServlet",urlPatterns = "/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
        System.out.println("HelloServlet.service");
        System.out.println("req = " + req);
        System.out.println("res = " + res);

        String username = req.getParameter("username");  <<<<<<<<
        System.out.println("username = " + username);
    }
}

이런식으로 꺼낼수있습니다