기술지원 문의

Re:Re:Re:apache+resin설치후 sevlet 구동을 하려고 하는데 에러가 나네요
방지한 / 2003-03-06 00:00

어줍잖은 실력이지만 쪼끔 써본 관계로 대신 답을 드립니다.
http://localhost/servlet/ 은 실행되는 프로그램이 아닙니다.
resin.conf 중에
  
요 줄을 착각하고 계시는 거 같은데염..........

음......예를 들어 테스트로 작성한 서블릿이 test.java 라고 한다면
test.java를 /WEB-INF/classes/ 밑에 위치해 두셔야
http://localhost/servlet/test 로 실행이 가능합니다.

따라서, http://localhost/servlet 라고 입력하면 당연히 servlet 클래스를 찾지 못하는 거구요,
http://localhost/servlet/ 라고 입력하면 servlet invoker 에서 /servlet/을 사용하고 있으므로,
실제 필요한 실행 서블릿, 즉 /servlet/test 와 같은 서블릿명이 필요하다는 에러를 출력하는 겁니다.

저는 이렇게 이해하고 있습니다.

--이동진 님의 글 [2003-03-06 19:19:29]
>아래 에러 메세지가 뜹니다... classpath가 문제 가 있는듯 한데...
환경설정 파일에... CLASS_PATH=.   
이렇게 지정되어 있거던요.... jdk1.4.x 버전이구요
답변점 부탁 드려요

500 Servlet Exception
javax.servlet.ServletException: Class `servlet was not found in classpath.
Classes normally belong in /WEB-INF/classes.
at com.caucho.server.http.Application.instantiateServlet(Application.java:3051)
at com.caucho.server.http.Application.createServlet(Application.java:2980)
at com.caucho.server.http.Application.loadServlet(Application.java:2941)
at com.caucho.server.http.QServletConfig.loadServlet(QServletConfig.java:428)
at com.caucho.server.http.Application.getFilterChainServlet(Application.java:2689)
at com.caucho.server.http.Application.buildFilterChain(Application.java:2645)
at com.caucho.server.http.Invocation.service(Invocation.java:309)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:221)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
at com.caucho.server.TcpConnection.run(TcpConnection.java:137)
at java.lang.Thread.run(Thread.java:536)

Re:Re:Re:Re:apache+resin설치후 sevlet 구동을 하려고 하는데 에러가 나네요
이동진 / 2003-03-06 00:00

네.. 답변은 잘 봤습니다.
그런데 현제 resin과  apache을 연동하였는데요. 
그래서 resin.conf 파일에는  대략적으로 보면

    /usr/local/apache/htdocs
                             source=WEB-INF/classes
                 compile=true/>

           
            
이런식으로 되어있습니다.
이상태에서.. apache의 docroot 디렉토리에서 jsp는 실행이 됩니다.
그런데... servlet은 안되더라구요..
위에 conf 파일의 설정이  servlet은 resin/webapps 인것 같아..
resin/webapps에서 테스트를 해도 실행이 되지 않고..
밑에 에러 만 뜨네요... 
환경설정 파일의 CLASSPATH 파일이 잘못된것 같기도 하구...
좀 알켜주세요. ㅡㅡ;


--방지한 님의 글 [2003-03-06 21:24:47]
>어줍잖은 실력이지만 쪼끔 써본 관계로 대신 답을 드립니다.
http://localhost/servlet/ 은 실행되는 프로그램이 아닙니다.
resin.conf 중에
  
요 줄을 착각하고 계시는 거 같은데염..........

음......예를 들어 테스트로 작성한 서블릿이 test.java 라고 한다면
test.java를 /WEB-INF/classes/ 밑에 위치해 두셔야
http://localhost/servlet/test 로 실행이 가능합니다.

따라서, http://localhost/servlet 라고 입력하면 당연히 servlet 클래스를 찾지 못하는 거구요,
http://localhost/servlet/ 라고 입력하면 servlet invoker 에서 /servlet/을 사용하고 있으므로,
실제 필요한 실행 서블릿, 즉 /servlet/test 와 같은 서블릿명이 필요하다는 에러를 출력하는 겁니다.

저는 이렇게 이해하고 있습니다.

--이동진 님의 글 [2003-03-06 19:19:29]
>아래 에러 메세지가 뜹니다... classpath가 문제 가 있는듯 한데...
환경설정 파일에... CLASS_PATH=.   
이렇게 지정되어 있거던요.... jdk1.4.x 버전이구요
답변점 부탁 드려요

500 Servlet Exception
javax.servlet.ServletException: Class `servlet was not found in classpath.
Classes normally belong in /WEB-INF/classes.
at com.caucho.server.http.Application.instantiateServlet(Application.java:3051)
at com.caucho.server.http.Application.createServlet(Application.java:2980)
at com.caucho.server.http.Application.loadServlet(Application.java:2941)
at com.caucho.server.http.QServletConfig.loadServlet(QServletConfig.java:428)
at com.caucho.server.http.Application.getFilterChainServlet(Application.java:2689)
at com.caucho.server.http.Application.buildFilterChain(Application.java:2645)
at com.caucho.server.http.Invocation.service(Invocation.java:309)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:221)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:163)
at com.caucho.server.TcpConnection.run(TcpConnection.java:137)
at java.lang.Thread.run(Thread.java:536)