kenu
2002-10-03 05:39:33.0
60
55257

Tomcat 4.1.12 버전에서 서블릿 접근이 안되는 경우


원인

/conf/web.xml

파일에서

invoker 서블릿의 매핑이 보안문제로 막혀있습니다.

    <!-- The mapping for the invoker servlet -->
<!--
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
-->

examples context 가 되는 이유

/webapps/examples/WEB-INF/web.xml

파일에서 invoker 서블릿을 다시 매핑합니다.

...

    <!-- Define filter mappings for the defined filters -->
    <filter-mapping>
        <filter-name>Servlet Mapped Filter</filter-name>
 <servlet-name>invoker</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>Path Mapped Filter</filter-name>
 <url-pattern>/servlet/*</url-pattern>
    </filter-mapping>

...중략...


    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

...

 

 

해결법

/conf/web.xml 에서

invoker mapping 을 주석을 풀어줍니다.

    <!-- The mapping for the invoker servlet -->
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

dtd 에 의거해서

security-constraint 엘리먼트를 /conf/web.xml 파일의 welcome-file-list 엘리먼트 아래쪽 <web-app> 에 중첩되게 복사합니다.

다음과 같을 것입니다.

...

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <security-constraint>
      <display-name>Default Servlet</display-name>
      <!-- Disable direct alls on the Default Servlet -->
      <web-resource-collection>
        <web-resource-name>Disallowed Location</web-resource-name>
    
    <url-pattern>/servlet/org.apache.catalina.servlets.DefaultServlet/*</url-pattern>
        <http-method>DELETE</http-method>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
        <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
        <role-name></role-name>
      </auth-constraint>
    </security-constraint>
   

</web-app>

그후에 톰캣을 재시동하고 테스트해보면 됩니다.

/conf/web.xml 파일 첨부합니다.

0
0
  • 댓글 60

  • hofless
    2002-10-07 13:43:09.0
    감사합니다.
    0
  • blacksun
    2002-10-24 20:28:20.0
    우와...님 정말 너무너무 감사해염...
    ^^; 왜 안되나 하믄서 한참 해매구 있었거덩요...
    행복하세욤...
    0
  • 앗.
    2002-10-29 15:15:38.0
    왜또 저만 안되져...conf안에 있는 web.xml화일만 수정해 주는거져..
    0
  • sonic
    2002-11-07 17:00:00.0
    정말 감사합니다... 이거 몰라서 2시간 넘게 헤맨거 같아요 ^^;;
    0
  • silence™
    2002-11-14 13:58:17.0
    넘 감사함다... 4.1.10을 쓰다가 4.1.12를 깔고 해맸었는데...
    0
  • miso
    2002-11-15 00:07:55.0
    정말 감사해요. 톰캣3.대버전을 사용하다 버전4에서 많이 헤맸는데 정답을 여기서 찾게 되어 무지 기쁩니다. 감사감사...^^
    0
  • ㅜㅜ
    2002-11-24 23:07:03.0
    눈물나네요... 며칠동안 헤매던 문제를 이렇게 해결하게 되다니... 정말 감사드립니다.
    0
  • ㅠㅠ
    2003-01-04 17:32:59.0
    드뎌 드뎌 해결되었군여 ㅜㅜ 정말 감사합니다.
    2주일동안 헤맸는데... ㅠㅠ 감사해용
    0
  • gaiber
    2003-01-13 17:48:37.0
    으햐 ....
    이렇게 간달한걸 괜히 삽질했으니...
    0
  • @,@
    2003-01-13 23:59:07.0
    저도 위와 같이 했는데...
    주소를 치면 파일 "열기", "저장" 창이 뜨고...
    연결프로그램을 IE로 선택하면 새로운 창으로 결과물이 보입니다.
    저는 왜그러죠???
    0
  • ㅡㅡ;
    2003-01-19 22:00:05.0
    난 왜 고양이 그림이 안뜨고
    Http status 500
    type Exception report
    message

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception

    org.apache.jasper.JasperException: Unable to compile class for JSP

    An error occurred at line: -1 in the jsp file: null

    Generated servlet error:
    [javac] Compiling 1 source file



    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:130)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293)
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:340)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:474)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:184)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.
    0
  • 감솨합니다.
    2003-02-14 17:03:48.0
    며칠동안 낑낑거리며 헤대던 것을 여기서 한방에 다 해결이 되는군요...넘 감사합니다. 흑흑흑
    0
  • 흑흑
    2003-03-18 01:27:23.0
    정말 감사합니다..되네요..
    0
  • ^^&
    2003-03-20 17:46:25.0
    jdk 가 잘못 설치되었나해서 고생하고 있었는데
    이렇게 좋은 정보를 알려주시네요..
    역시 좋은 정보는 시간이 흘러도 유용하네요..
    감사합니다...
    0
  • baream
    2003-04-09 05:04:53.0
    너무 너무 감사합니다. 이제야 한 시름 놨습니다.
    0
  • 냐하하
    2003-04-09 17:32:24.0
    정말 감사합니다..... ㅠ.ㅠ
    0
  • 라이브
    2003-04-21 23:28:49.0
    증말 감사합니다...첨부터 설명해줬어믄 좋았는데...^^
    0
  • 쿠~오
    2003-04-22 11:01:21.0
    대단하심다 ^^
    0
  • 쿠~오
    2003-04-22 11:02:55.0
    4.1.24 도 잘 돌아갑니다.
    0
  • 감사..
    2003-05-18 22:30:50.0
    이제 되는군요..한시간 씨름했는데.
    감사합니다.
    0
  • 혹..?
    2003-06-13 00:35:51.0
    보안문제로 막아논것이라면 다시 보안에 취약해 지는것은 아닌가요?.. 다른 방법은 없는 것인가요?
    0
  • 젠~사랑
    2003-07-28 00:04:30.0
    멋집니다...(/'')
    0
  • 권성용
    2003-08-26 02:20:26.0
    아이고 감사합니다.. 12시간동안 밥도 안먹고 깔았다 지웠다 버전을 높였다 낮췄다 별 쌩쑈를 다했는데 한방에 해결됐네요.. 기분 짱 좋고 한편으론 허무하기도 하고
    컴퓨터로 밥 벌어먹고 살수있겠나 생각도 들고 그 짧은 시간동안 별 생각을 다했습니다.. 정말 감사합니다..
    0
  • 감사.
    2003-08-31 22:26:28.0
    4.1.27에서도 잘 되네요.
    모델2로 다시 배우는 JSP책의 P33~34에 이 내용이 첨가되면 좋겠습니다.
    0
  • 몰라맨
    2003-10-08 12:20:54.0
    저는 web.xml을 수정 했는데도
    HTTP Status 404 라는 page만 출력되어집니다.
    0
  • 안돼..
    2003-10-14 18:24:43.0
    왜 안되는 거징?!
    4.1.27버전인뎅.... web.xml을 수정했는뎅...
    0
  • 눈물겹게감사
    2003-10-15 18:52:33.0
    어흑...대따...어흑어흑...고마워욧...
    0
  • 자바사랑
    2003-10-29 09:34:31.0
    ^^ 감사합니다..
    0
  • 흐흑
    2003-11-04 14:27:48.0
    4.0.3 버젼은 어케 해야되는거죠? ㅡ.ㅜ
    똑같이 해봤는데..그래도 안되는데...
    0
  • 세브니
    2003-11-04 19:39:00.0
    4.0.3은 이거 안해줘도 될텐데요?
    4.0.6에선가 default 서블릿에 의한 보안 문제가 대두되었습니다. 그 이후에 서블릿 접근을 정책적으로 막았지요..
    0
  • 감사
    2003-11-17 14:14:12.0
    너무나 고생했던문제입니다.
    정말 감사합니다.
    0
  • 조준형
    2003-12-17 22:52:06.0
    감사합니다....
    하루 온종일 머리 싸맸습니다....
    감사해여... 정말 정말루.....
    0
  • namuggun
    2004-01-16 17:39:35.0
    하하.. ^^; 감사.. 겨우 버전 쪼금밖에 차이 나질 않는데... 이런 일이 생겨 버리다니.. 감사합니다.
    0
  • 감사감사또감사!!
    2004-01-18 18:17:16.0
    아~~~! 이제껏 한번도 JSP를 다뤄 본적없는 신삥입니다. 니미럴..회사에서 까래서...결국 해보고 있는데..3.X버전에서 4.X로 업그레이드 하면...죽을 맛...진짜 안되던데...꽁수로 examples의 web.xml을 복사해서 쓰려다 해결법을 알아 갑니다....정말 감사!!!
    0
  • valuemaker
    2004-02-24 12:08:54.0
    참 쌩쑈를 1주일동안했습니다. 감사....
    0
  • 감사~~~~
    2004-03-15 12:36:24.0
    2주동안...servlet연동 못하구..jsp가지고 연습만하다가..ㅜ.ㅜ;;;

    정말감사합니다..
    0
  • 감사~~
    2004-03-31 18:42:24.0
    감사합니다. '잘 쓰겠습니다.'
    0
  • 헬프미
    2004-06-09 09:35:38.0
    5.0.25에서는 어떻게 해야 하나요?
    0
  • 고감도
    2004-06-20 19:42:25.0
    4.1.30에서는 위에 시킨대로 아무리 해봐도 안되는군요. 혹시 해보신분 없나요?
    0
  • 노주형
    2004-06-24 10:19:19.0
    4.1.30에서도 잘 됩니다.
    새로운걸 알아 나가는게 재미 있네요.
    0
  • Jin
    2004-07-13 04:25:44.0
    저도 3일간 혼자서 쌩쇼를 하다가 지금 겨우 해결했네요. 감사함다. 버전은 4.1.30 이고 저도 첨에 저 위에 있는 -,- 님처럼 되었는데 다운로드한 파일을 ../conf/web.xml 을 붙여넣고 재실행하니까 되네요..원래 엉뚱한 곳에 붙여넣기하니깐 안된 거였죠..초보적인 실수를...ㅋㅋㅋ
    0
  • 붉은무
    2004-09-07 18:39:07.0
    Tomcat 5.0.27 버전에선 안되는건가요? ㅜㅠㅜ
    제가 잘못한건지 버젼때문인지 안되네요.
    5.0.27 버전을 깔았는데 다시 깔아야 하나요?
    0
  • 2004-11-28 02:03:55.0
    그렇군
    0
  • 감사합니다.
    2004-12-02 21:53:20.0
    감사합니다. 속이 다 시원하네요
    0
  • telarin
    2004-12-23 04:04:36.0
    5.0.28 버전에서는 invoker라는 서블릿 이름을 찾을 수 없다고 나오네요??? 직접 등록한 서블릿들은 잘 되더군요. 다만 자동컴파일 옵션을 붙여주었는데도 자동컴파일이 안되네요..
    0
  • 변유철
    2005-01-08 22:01:01.0
    잉야야야야야야야 이건 말도 안됩니다...거의 반나절 걸리 끝게 깨끗하게 해결될 수가!!!!!!!!!!!충격을 받아서 글씁니다 ㅎㅎㅎ 너무 너무 감사하고 하시는 일 다 잘될 것입니다. 아참 저는 톰켓 4.1.31인데 직방으로 되네염 ㅎㅎ
    0
  • 임은천
    2005-01-26 03:11:33.0
    servlet-mapping 말고 servlet invoker도 고쳐 줘야 하는 것 같네요.
    0
  • 웹커
    2005-01-27 16:15:01.0
    =_=b 굳! 정말 멋지십니당! 부럽~부럽~부럽~
    0
  • triad77
    2005-02-13 20:46:41.0
    상단의 servlet 에 invoker도 주석을 풀어주어야 합니다
    0
  • soonge
    2005-03-28 17:21:49.0
    ㅜㅜ 저도 일주일동안 돌아다니면서... 뒤늦은 뒷북이라도 감사합니다.ㅜㅜ
    0
  • retty
    2005-03-30 16:26:01.0
    이렇게 호출하는 방법은 금기시 되고 있습니다. 보안때문에 그렇죠. url-pattern을 적용하여 사블릿을 호출하는 것이 정석입니다.
    0
  • ohverlife
    2005-05-25 23:43:30.0
    으하하 감사합니다 ㅠㅠ 서블릿 처음부터 막혀서 짜증내고 있었는데 ㅠ
    0
  • kimemi
    2005-06-10 10:21:59.0
    아 정말 감사해여.~
    이 문제로 몇번이나 servlet 실패했는지 모릅니다~
    감사감사.. 그동안 왜 안될까 생각만 하구.. 이렇게 찾으면 되는데. ^^
    감사합니다.~
    0
  • jaechell
    2005-06-28 12:43:37.0
    정말 정말 감사합니다... 삽질 많이 햇어요 ㅠ.ㅠ


    웹프로그램은 역시 힘들고 고달파요 ㅠ.ㅠ
    0
  • kkiwan
    2005-08-31 09:36:10.0
    한다디만 하고 가겠소...

    행복하소서~~~
    0
  • woya81
    2005-10-25 17:05:12.0
    후~! 겨우 찾았다.
    좋은 정보 감사합니다.
    0
  • mir4ever
    2005-10-31 17:24:56.0
    톰캣 5.x 대 버전에서는 어찌해야하는가요 ㅜ.ㅡ 안되는거 같은데..
    0
  • mmu
    2006-01-20 16:14:42.0
    와 된다..ㅋㅋ 안된다고 하시는 분들 걍 kenu님께서 올리신 web.xml파일 덮어쓰기해서
    해보세요^^
    0
  • jini
    2006-02-03 16:29:49.0
    흐흐흐 정말 감사합니다.!! 좋은 정보는 세월이 흘러도 역시 보석처럼 빛나는 군요.!
    0
  • 1
    2006-11-02 00:02:04.0
    축복받으소서
    0
  • 로그인을 하시면 댓글을 등록할 수 있습니다.