[컴][웹] eclipse 에서 Spring Hello world

스프링 hello world / 스프링 mvc 예제 / spring mvc


Hello world Spring

아래 링크에 있는 예제에서는 spring framework 을 단순하게 사용해 볼 수 있다. MVC 를 적용하지 않은것이라서 spring framework 를 좀 더 단순하게 알아볼 수 있다.
spring page 에 따르면, 예제에서 얘기하는 spring.jar 을 version 3 이후부터는 제공하지 않는다. 옛 버전은 아래 경로에서 다운로드 받으면 된다.


old version spring framwork download

MVC example

MVC 를 이용한 예제이다.
source 를 제공하니, download 해서 eclipse 에서 import 하면 된다. 그리고 나서 servlet-api.jar 을 library 에 더해주자.

maven project 로 import 해도 된다.


조금 더 자세한 MVC 예제는 아래에서 찾을 수 있다.


annotation

annotation 을 이용한 예제.

Maven Spring project 만들기



이 방법을 이용하면, mvc 로 spring project 를 손쉽게 만들 수 있다.


servlet-mapping

annotation 예제에서 servlet-mapping 에 주의하자.
아래 같이 controller 를 작성해 놓았다고 하자. 이 때 아래 controller 는

  • localhost:8080/welcome

에 호출될 것 같다.(ROOT application 인 경우에) 하지만, 경우에 따라서는 호출되지 않는다. 404 error 를 보게 될 지도 모른다. 왜 접근을 못하는가 하면, 일단 Dispatcher 를 호출한 후에 controller 에 보내주게 되는데, Dispatcher 의 mapping 설정이 위의 URL 과 맞지 않아서 Dispatcher 가 아예 호출되지 않을 수 있다.


@Controller
@RequestMapping("/welcome")
public class HelloWorldController {

 @RequestMapping(method = RequestMethod.GET)
 public ModelAndView helloWorld() {
         ...

나의 경우는 아래와 같은 설정이었다.(위의 download 할 수 있는 예제가 그렇다.)


<servlet>
    <servlet-name>mvc-dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    
</servlet>


<servlet-mapping>
    <servlet-name>mvc-dispatcher</servlet-name>
    <url-pattern>*.htm</url-pattern>
</servlet-mapping>

이 경우에 .htm 으로 끝나는 URL 만 Dispatcher 를 호출하게 된다. 그렇기 때문에 아래의 URL 은 Dispatcher 를 아예 호출하지 못했다.
  • localhost:8080/welcome
그러므로 위의 Controller 를 호출하기 위해서는 아래와 같은 URL 로 호출해야만 한다.
  • localhost:8080/welcome.htm




See Also

  1. Maven 기초 사용법
  2. Eclipse 에서 Maven project build 하기


References

  1. java - What does the double wildcard (*) on a servlet mapping url-pattern mean? - Stack Overflow




댓글 없음:

댓글 쓰기