• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

JAVA 문법 질문 - 매개변수 객체 생성 / @RequestMapping 질문

23.02.10 16:18 작성 조회수 355

1

@RequestMapping("log-demo")
@ResponseBody
public String logDemo(HttpServletRequest request) {
    String requestURL = request.getRequestURL().toString();
    MyLogger myLogger = provider.getObject();
    myLogger.setRequestURL(requestURL);

위 코드는 강의에 나온 코드 입니다 .

 

  1. @RequestMapping :

특정 URL로 요청(Request)을 보내면

Controller에서 어떠한 방식으로 처리할지 정의 

 

  1. 여기서는 "log-demo" 로 요청 하면

logDemo 메서드를 호출한다

 

  1. 위 코드와 아래 코드가 같다고 볼 수 있을까요 ?

     

@RequestMapping("log-demo")
@ResponseBody
public String logDemo() {
    HttpServletRequest request = new HttpServletRequest;
    String requestURL = request.getRequestURL().toString();
    MyLogger myLogger = provider.getObject();
    myLogger.setRequestURL(requestURL);

 

매개변수로 넣었을 때랑 뭐가 다른지 잘 모르겠습니다

 

 

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2023.02.10

안녕하세요. 두용님, 공식 서포터즈 OMG입니다.


1,2번은 생각하신게 맞습니다.

3번은 아래 코드를 직접 작성해보시지 않은것같은데요

직접 작성해보시면 컴파일 에러가 발생하는 것을 확인하실 수 있습니다.

결론은 실행조차 되지 않는 코드여서 같다 다르다를 논한다면 다른게 맞습니다.

 image


감사합니다.

두용님의 프로필

두용

질문자

2023.02.11

서블릿을 잘 몰라서 생긴 문제였네요

저는 HttpServeltRequest 객체를 제가 생성해야 하는줄 알았는데

좀 더 찾아보니까

 

"

WAS 안에는 서블릿 컨테이너가 있는데

이 서블릿 컨테이너가 이 객체들을 생성,호출,관리 해준다

그래서 나는 코드만 가져다 사용하면 된다

"

 

이렇게 이해했는데 맞나요 ?

 

그리고 저 서블릿 컨테이너에서 객체를 생성하는 시점은

@RequestMapping("log-demo")

" log-demo "요청할 시점에 생성되나요?

 

 

항상 친절한 답변 주셔서 감사합니다 !

 

두용님의 프로필

두용

질문자

2023.02.17

 

영한님의 로드맵을 따라 열심히 공부하고 있습니다 .

 

스프링 MVC 1편을 수강중입니다 .

계속 공부를 하다보니 전에 완전히 이해가 가지 않았던 내용들이

하나씩 이해가 되어가고 있습니다 .

 

 

HttpServeltRequest 객체를 제가 사용할 수 있었던 것은

RequestMappingHandlerAdapter (요청 매핑 헨들러 어뎁터)가

Argument Resolver 를 통해서 생성된 객체를 받은건가요?

OMG님의 프로필

OMG

2023.02.19

image답변이 늦었네요. 강의에서 설명하고 있듯이 이해하신게 맞습니다.