아래와 같은 tiles_member.xml 파일 구동시

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
        "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
        "http://tiles.apache.org/dtds/tiles-config_3_0.dtd">

<tiles-definitions>
    <definition name="baseLayout"  template="/WEB-INF/views/commons/layout.jsp">
        <put-attribute name="css" value="/WEB-INF/views/commons/css.jsp" />
        <put-attribute name="side" value="/WEB-INF/views/commons/side.jsp" />
        <put-attribute name="body" value="" />
        <put-attribute name="footer" value="/WEB-INF/views/commons/footer.jsp" />
    </definition>

    <definition name="main" extends="baseLayout">
        <put-attribute name="body" value="/WEB-INF/views/main/index.jsp" />
    </definition>

    <!--
       <definition name="/member/memberForm" extends="baseLayout">
          <put-attribute name="title" value="회원등록창" />
          <put-attribute name="body" value="/WEB-INF/views/member/memberForm.jsp" />
       </definition>

       <definition name="/member/viewDetail" extends="baseLayout">
          <put-attribute name="title" value="회원상세창" />
          <put-attribute name="body" value="/WEB-INF/views/member/viewDetail.jsp" />
       </definition> -->
</tiles-definitions>

  다음과 같이 500 내부 서버 오류가 발생한다. 

오류의 원인은 layout.jsp 파일인 것으로 확인되었다.

다음과 같이 layout.jsp 파일에는 header가 있으나

tiles_member.xml에는 header attribute가 없어서 발생한 문제였다.

필자는 header를 사용하지않을 것이기 때문에 layout.jsp 해당 <tiles:inserAttribute>를 삭제해야한다.

그리고 다시 톰캣을 구동하면 정상 구동이 되어야 하는데, 간혹 out 폴더에서 tiles.xml에 있는 jsp 파일이 생성이 안되는 경우가 있다.

상기 사진은 필자가 아래와 같이 진행 후 해결된 것이다.

아래와 같이 Invalidate Cahes / Restart 진행하여 해결할 수 있으니

만약 out directory에 해당 폴더가 정상 생성이 안된다면 아래와 같이 진행 후 다시 톰캣을 구동해보도록하자

+ Recent posts