먼저 url 아래에 아래와 같은 properties 들을 추가해준 것을 확인할 수 있습니다.
여기서 정한 값들은 마치 변수를 선언한 것과 같아서 아래에 dependency에 추가를 용이하게 해줍니다.
[Dependency]
위에서 정의한 property들을 이용하여 dependency를 추가해주는데, 위에 property에 정의하지 않고
직접 상수를 입력하여 사용도 가능합니다. 여기서 보면 Properties에 선언한 속성들을 갖다 쓰는 것을 볼 수 있는데, ${spring.version}을 사용하여 4.0.9.REALEASE를 넣어주고 있습니다.
나중에 MySqlConnector나 MyBatis 같은 라이브러리를 추가할 때도 이렇게 해주면 됩니다!
[Plugin]
이제 거의 마무리가 되었는데, 마지막으로 <build>안에 추가해준 이 부분은 JRE System Library를 jdk1.8로
이용하기 위해서 추가해준 부분입니다!
[ 마무리 ]
이 과정을 마무리 해도 에러가 남아있을 텐데 왼쪽의 Package Explorer에서 해당 프로젝트를 선택하고 alt+f5를 눌러주면 됩니다. 만약 alt+f5가 안먹으면 프로젝트를 우클릭한 후 maven 탭에서 update project를 해주면 됩니다.
이 과정은 내가 추가한 사항을 프로젝트에 반영하는 maven update project 입니다
2. web.xml
이번에는 제가 쓸데없이 가장 고생을 많이했던 web.xml 입니다. 적혀있는 내용을 모른 채로 다른 분들의 코드를 여기저기서 옮겨 붙이다보니 자연스레 파일들 사이의 충돌이 발생하게 되었고 고생도 많이 했기에 몇가지 알아보고 설명해드리고자 합니다.
이번에도 역시 소스코드를 먼저 보여 드리고 몇가지 설명해 드리도록 하겠습니다.
< web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
Archetype Created Web Applicationdispatcher
org.springframework.web.servlet.DispatcherServlet
1dispatcher/contextConfigLocation/WEB-INF/dispatcher-servlet.xml
org.springframework.web.context.ContextLoaderListener
가장 먼저 제일 위에 보이는 web-app version = 3.0 부터 설명드리겠습니다.
이 web-app의 version은 서블릿 버전을 타나내는데, 서블릿이라고 하는 것은 여기에서 자세히 다루도록 하겠습니다.
제가 여기서 문제를 일으켰던 이유는 바로 다음과 같습니다. 이제 아시다싶이 저는 servlet 3.0 버전을 사용하겠다고
명시를 해두었습니다. 그런데, 이클립스에서 maven project를 생성하면 2.3버전이 정의가 됩니다.
그래서 서로 버전이 맞지 않기 때문에 프로젝트의 버전을 수정해주어야 합니다.
(servlet 3.0이상을 이용하면 최근에 자주 사용하는 Annotation어노테이션을 이용한 서블릿 매핑이 가능해집니다! )
그 외에 xmlns와 같은 아래 내용은 서블릿의 DTD[각주:1] 인데, 사용하려는 서블릿 버전에 맞추어 수정해주면 됩니다.
(혹시 3.1 외에 다른 서블릿 버전을 사용하길 원하신다면 여기에서 보고 맞춰 수정해주세요!)
3. 기타 설정
그 다음에 View 탭에서 Servers를 더블클릭하고 사용중인 tomcat을 더블클릭한 후 Modules 탭으로 이동합니다.
만약 Servers가 없는 경우 화면 상단의 Windows -> show view에서 Servers를 추가해주시면 됩니다!
Path를 /로 바꾸는 것은 시작하는 화면의 주소를 http://localhost:8080/ 처럼 바꾸기 위해서입니다.
그리고 실행을 해봐서 아래와 같은 화면이 잘 뜨면 설정을 잘 마무리 하신겁니다!
위에서 path를 /로 바꾸었기 때문에 아래의 주소가 http://localhost:8080/ 로 나오게 된 것입니다.
4. 에러가 발생한 경우
톰캣을 사용하면서 가장 자주 발생하는 에러인 404에러가 발생했다면 몇가지 확인해볼 사항이 있습니다.
먼저 프로젝트를 우클릭하여 properties에 들어간 후 아래와 같이 project facets으로 들어가봅시다.
오잉? 근데 이상한 부분이 있습니다. 우리는 프로젝트를 만들때 3.0 웹 앱 버전을 사용하겠다고 했는데 실제로 들어가보니
2.3 버전으로 형성되어 있는 것을 알 수 있습니다. 이러한 문제가 발생하는 이유는 이클립스에서 메이븐 프로젝트를 생성하면 기본적으로 2.3버전이 만들어지기 때문입니다. 그러므로 workspace로 가서 프로젝트가 있는 폴더의 .settings로 가줍니다. 폴더 안에는 org.eclipse.wst.common.project.facet.core파일이 있는데 이를 메모장으로 열고 jst.web의 version을 3.0으로 바꾸어 주면 정상적으로 실행되는 것을 확인할 수 있습니다!