루카스모
4k
2021-04-07 10:51:27 작성 2021-04-07 10:52:23 수정됨
6
163

스프링에서 jsp 구문 오류 찾아내는 법 질문이요


스프링 프로젝트 중에 

웹에서 jsp를 보여줄 때 크롬을 사용하는데

화면이 출력이 안되고

크롬 개발자 도구의 Sources 창이 중간에 끊겨서 나오고

status of 500 라고 적혀있어서 구문 오류 같은데

이런 오류 가 있을 때 크롬 개발자 창에 있는 Source가 끊겨서 웹 디버깅도 못하는데 


에러 목록을 보면 아래처럼 main.jsp 내부에 있는 코드 에러는 안알려주네요..

이럴땐 어떻게 구문 오류를 찾으면 좋을까요?

Caused by: java.io.IOException: JSPException including path '/WEB-INF/views/Test/main.jsp'.
	at org.apache.tiles.request.servlet.ServletUtil.wrapServletException(ServletUtil.java:61)
	at org.apache.tiles.request.jsp.JspRequest.doInclude(JspRequest.java:125)
	at org.apache.tiles.request.AbstractViewRequest.dispatch(AbstractViewRequest.java:47)
	at org.apache.tiles.request.render.DispatchRenderer.render(DispatchRenderer.java:47)
	at org.apache.tiles.request.render.ChainedDelegateRenderer.render(ChainedDelegateRenderer.java:68)
	at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:259)
	at org.apache.tiles.template.InsertAttributeModel.renderAttribute(InsertAttributeModel.java:188)
	at org.apache.tiles.template.InsertAttributeModel.execute(InsertAttributeModel.java:132)
	at org.apache.tiles.jsp.taglib.InsertAttributeTag.doTag(InsertAttributeTag.java:299)
	at org.apache.jsp.WEB_002dINF.tiles.UserLayout_jsp._jspx_meth_tiles_005finsertAttribute_005f3(UserLayout_jsp.java:306)
	at org.apache.jsp.WEB_002dINF.tiles.UserLayout_jsp._jspService(UserLayout_jsp.java:211)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
	... 61 more


0
  • 답변 6

  • Dierslair
    4k
    2021-04-07 11:23:57

    jsp에서 자바 코딩을 꺼리는 이유입니다.
    인텔리제이가 그나마 IDE지원이 괜찮습니다. 문제는 유료이고 작성자님이 공공기관에서 근무하시는 경우 사용 허가를 받아야 하는 점이 있겠네요.


  • 루카스모
    4k
    2021-04-07 11:34:03

    John Suhr

    감사합니다

    그런데 인텔리j 에서 tomcat 연동해서 로컬 서버 구동하는건 무료이죠?

    저렇게 jsp 사용할때 오류 뜨게하는건 유료 인가요?

  • Dierslair
    4k
    2021-04-07 11:36:33

    successboy

    안타깝게도... 외장 톰캣 연결 및 jsp 지원은 얼티밋에만 지원하는 기능입니다. 유료에요

  • 오후
    2k
    2021-04-07 11:39:21

    저 표출 내용 자체가 에러 디버깅용입니다.

    Caused by: java.io.IOException: JSPException including path '/WEB-INF/views/Test/main.jsp'.


    일단 저 main.jsp 인식못한다

    at org.apache.jsp.WEB_002dINF.tiles.UserLayout_jsp._jspx_meth_tiles_005finsertAttribute_005f3(UserLayout_jsp.java:306)
    	at org.apache.jsp.WEB_002dINF.tiles.UserLayout_jsp._jspService(UserLayout_jsp.java:211)

    추가적으로  UserLayout.jsp 에서 insertAttribute 관련 에러가났다.

  • BalanceE
    498
    2021-04-07 12:38:45

    톰캣에서 구동되는 jsp의 경우 IDE에서 찾는것보다 tomcat폴더에서 찾는것이 좋습니다.

    에러내용을 보면

    UserLayout_jsp.java:306

    부분이 있는데 실제 윈도우 기준 톰캣 위치에서

    전체 검색해보시면 ( 클래스 파일에 있을텐데 정확한 위치는 까먹었습니다. 전체 검색하셔도 나옵니다.)

    UserLayout_jsp.java <-- 파일을 검색해보시면 나옵니다. 

    해당 파일을 에디터 툴로 열면 306라인에 예외처리된 코드 부분이 보입니다. 

    확인 후 IDE에서 같은 위치인 부분을 수정하시고 재구동 하시면 됩니다.



  • 루카스모
    4k
    2021-04-07 15:10:04

    오후 , BalanceE

    다들 답변 감사합니다..

    해결했습니다. 원인은..

    jsp에서 Controller에서 넘겨주는 ModelAndView의 attributeName를 받아야하는데

    전혀 없는 이름을 받고 있었습니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.