새로 jsp 파일을 마든 후 해당 jsp 파일을 실행하면 404 오류가 밸상한다.

원인이 무엇이고 해결은 어떻게 하는지 확인해보자.

샤로 404test.jsp 파일을 만들었다.

아래와 같이 작성하자

404test.jsp 파일을 마우스 우클릭하여 Run 404test.jsp 실행한다.

그럼 아래와 같이 404 오류가 발생한다.

문제 해결을 위해 우측 상단에 Edit Configurations를 클릭하자.

그리고 404test.jsp > Deployment를 클릭한다.

Application context를 /만 남기고 지워준다.

그리고 OK

그리고 Tomcat을 restart한다.

보시다시피 문제를 해결한 것을 확인할 수 있다.

이 글은 본인이 처음 인텔리J에 입문하면서 스프링 설정을 하면서 겪었던 문제들에 대한 게시글이다.

아무래도 이클립스에 적응되어 있다보니 인텔리J에서는 다소 다른 기능들 때문에 적응 다소 힘든 부분이 있었고

또한 안내 게시물들이 적다보니 여러 시행착오를 겪었다.

그리고 지금에서야 그러한 분이 정리되고 이제 본격적인 프로젝트 시작에 돌입할 수 있게 되었다.

 

그전에 본인과 같은 문제를 겪을 수 있은 사람들 및 추후 필자가 동일한 문제를 겪지 않도록 여기에 기록해두려고한다.

 

우선 Create New Project로 새로운 프로젝트를 만든다.

Maven을 선택하고 Create from archetype 체크해제를 확인한 후 Next를 클릭한다.

이름을 확인하고 Finish를 클릭한다.

모듈을 마우스 우클릭 > Add Framework Support를 클릭한다.

Spring MVC에 체크한 후 OK 버튼을 클릭한다.

추가가 완료되면 아래와 같은 화면을 확인할 수 있다.

이후 화면의 우측 상단에 Add Configuration을 클릭한다.

좌측 상단에 +를 클릭한 후 Tomcat Server를 선택한다.

우측 하단에 Fix 버튼을 클릭해준다.

Deployment > Application context에 /를 남기고 나머지는 지워준다.

그리고 Server탭으로 이동한 후 아래 표시된 부분을

아래와 같이 Update classes and resources로 변경해준다.(Auto publishing을 위하여 변경)

그리고 모듈 우클릭 > Open Module Settings를 클릭한다.

Articats > Output Layout 탭에 아래 표시된 부분을 더블 클릭해준다.

더블 클릭하면 아래사진과 같이 좌측으로 이동한 것을 확인할 수 있다.

그리고 나서 index.jsp를 더블 클릭해보자.

사진과 같이 정상 출력되는 것을 확인할 수 있다.

그럼 이제 스프링을 이용하여 파일 이동을 해보자 

아래 사진과 같이 servlet-mapping의 url-pattern을 아래와 같이 변경해준다.

src > main > java > new > Package를 추가해준다.

그리고 다시 해당 Package에 New > Java Class로 Class를 추가해준다.

goController Class를 아래와 같이 작성해준다.

스프링에 대한 기본적인 지식이 있다고 판단하고 자세한 설명은 생략하겠다.

그리고 applicationContext.xml 파일을 아래와 같이 수정해준다.

index.jsp 파일을 아래와 같이 start.do로 변경해준다.(사진에는 /start.do로 되어 있지만 start.do를 해야 한다.)

그리고 start.jsp 파일을 만들어주고 아래와 같이 입력해준다.

그 다음 톰캣을 실행해준다. 참고로 debugging 모드로 해야 하는게,

Auto publishing을 하려면 debugging 모드로 톰캣을 구동해야 한다.

그럼 아래와 같이 인덱스 접속이 하이퍼링크되어 아래와 같이 표시가 된다.

자 그럼 클릭하면 우리가 원하는 start.jsp로 이동될 것이다.

아래와 같이 start.jsp로 이동된 것으로 확인할 수 있다.

인텔리J의 Project structure의 단축키는 Ctrl+Alt+Shift+S이다.

그러나 해당 단축키로 접속이 안되는 경우가 있어 경로를 기재하려고한다.

 

모듈을 우클릭하면 사진과 같이 Open Module Settings가 나온다.

이 부분을 클릭하면 아래와 같이 Project Structure가 나오니 참고하도록하자.

인텔리 J의 컴파일 방법 중 수동 과 자동 방법에 대하여 다뤄보고자한다.

 

우선 수동 컴파일 방법은 ctrl+f9 키이다.

해당 키 조합으로 자동 컴파일을 할 수 있다.

 

그럼 이제 자동 컴파일 방법에 대하여 보도록하자.

우선 Ctrl+Alt+Shift+S 키를 눌러준다.

 

그리고 아래 사진과 같이 Compiler > Build project automatically를 체크해주고 OK 버튼을 클릭해준다.

 

다만 위와 같이 변경했다고 코드 수정시 바로 적용되는 것은 아니고 인텔리J 창이 화면에서 사라진 이후에 활성화된다 아래사진과 같이 말이다.

아래와 같이 start에서 index로 return 값을 변경했다.

변경시 바로 변경이 안되고 아래와 같이 화면이 사라져야 활성화가된다.

그러니 변경 후 화면 전환시 자동 컴파일 되는 것을 확인할 수 있으니 참고하도록하자.

이클립스의 경우 클래스나 변수가 수정될 경우 자동으로 publishing 하는 기능이 있어 톰캣 재실행없이 변경된 결과를 확인할 수 있다.

 

그러나 인텔리J의 경우 이 기능이 자동으로 설정되어 있지 않아 바로 변경이 어렵다 그러므로 별도의 변경 이후에 사용이 가능하다.

 

인텔리J 우측 상단에 edit configurations로 접속한다.

아래 사진의 On update action과 on frame deactivation을 Update classes and resources로 변경 해주고 Ok 버튼을 눌러준다.

그리고 실행은 항상 debug 모드로 해야지 Auto publishing이 정상 작동되니 참고하도록하자.

+ Recent posts