본문 바로가기
끄적끄적/미해결

[미완] Spring에서 url-pattern은 뭘까

by 엑츄얼리 2023. 2. 3.

Server 실행 시, localhost:8080/admin/init을 통해 init() 메서드에 접근할 것 을 기대

 

1.

위 : controller

아래 : web.xml
localhost:8080/admin/admin/init 입력 시 init() 메서드에 접근 가능

 

 

2. 

@Request Mapping("/admin")을

@WebServlet("/admin")으로 수정

localhost:8080/admin/init 을 통해 init() 메서드에 접근 가능

 

3.

1을 2를 통해 해결했다라고 생각할 수 있지만, 문제가 있다.

위는 servlet-context(admin-context.xml로 수정해서 사용했음) 일부인데,

resource mapping을 통해 css와 js폴더에 접근하지 못한다.

 

확인 결과, url-pattern : / 일 때에는 제대로 작동함을 확인했다.

 

4. 마무리

3. 까지 확인하고 알기에는 너무 지쳐서 포기했다. 결과적으로 그냥 url-pattern은 / 로 사용해야겠다.

나중에 이 글을 다시 볼 때는 이 것을 알 정도로 공부를 많이했으면 좋겠다.

 

구글링을 통해 알게된 키워드 : 

url-pattern은 WebServlet을 통해 접근 (RequestMapping의 url-pattern은 WebServlet의 url-pattern과 다르게 작동한다.

                                                              이유는 찾지 못했다 ㅠㅠ...)

 

참고

 이게 아마 정답인 듯, 근데 아직 정확히 이해를 못하겠다....

https://stackoverflow.com/questions/25059898/requestmapping-not-accessible

 

@RequestMapping(“/”) not accessible

Using Spring MVC, I want to map the root path of my Java web application to a controller. Controller class : package project.controller; import org.springframework.stereotype.Controller; import ...

stackoverflow.com

https://stackoverflow.com/questions/13405868/in-a-servlet-mapping-in-spring-mvc-how-do-i-map-the-root-of-a-url-pattern-direct

 

In a servlet mapping in Spring MVC how do I map the root of a url pattern directory?

<servlet-mapping> <servlet-name>testServlet</servlet-name> <url-pattern>/test/*</url-pattern> </servlet-mapping> If I hit /test/page the above will work.

stackoverflow.com

 

댓글