2013-08-29 2 views
0

Eclipse에서 제대로 작동하는 Java EE 프로젝트가 있습니다. 하지만 일반적인 Tomcat-7을 사용하여 서버에 배포하면 모든 servlet 페이지에 404 오류가 표시됩니다 (.jsp가 작동하는 동안).Tomcat이 404가 표시됩니다.

거기에 .war 파일을 배포하려고 시도했지만 WEB-INF 디렉토리를 포함한 전체 프로젝트 폴더를 복사하려고했습니다. 결과는 같습니다.

<?xml version="1.0" encoding="ASCII"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns="http://java.sun.com/xml/ns/javaee" 
     xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
     version="2.5"> 
    <display-name>acs</display-name> 
    <servlet> 
    <display-name>jsp</display-name> 
    <servlet-name>jsp</servlet-name> 
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>jsp</servlet-name> 
    <url-pattern>*.jsp</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>default</servlet-name> 
    <url-pattern>*.html</url-pattern> 
    <url-pattern>*.png</url-pattern> 
    <url-pattern>*.gif</url-pattern> 
    <url-pattern>*.jpg</url-pattern> 
    <url-pattern>*.css</url-pattern> 
    <url-pattern>*.js</url-pattern> 
    <url-pattern>*.svg</url-pattern> 
    <url-pattern>*.kml</url-pattern> 
    </servlet-mapping> 
</web-app> 

모든 서블릿 클래스가 왜이 일어나고 그

@WebServlet("/full") 

같은 주석을 포함

web.xml 파일에는 다음이 포함? 그리고 Tomcat이 서블릿을 검색하려고하는 위치를 알 수있는 방법이 있습니까? 또는 뭔가. 이제 나는 벽 앞에 서있는 것과 같고, 그것은 나에게 404라는 것을 보여 주며 나는 무엇이 잘못되고 있는지 작은 아이디어가 없다. ...

+1

Windows에서 개발하는 경우와 < 서블릿> 태그를 찾을 수 있지만

<servlet> <display-name>jsp</display-name> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> 

같은 : 파일 이름이있는 대소 무신경. Unix (및 jar) 파일 경로는 대소 문자를 구분합니다. 또 다른 중요한 문제는 아마도 서버에 UTF-8 인코딩이 있고 Windows-1252 또는 그와 비슷한 것입니다. 특수 문자를 사용하는 경우 JSP 소스의 인코딩이 올바른지 확인하십시오. - 물론 서블릿 컨텍스트를 변경할 수도 있습니다 : http localhost 8080/servlet/x.jpg 대 http my.com/x.jpg. –

+0

아니요, 개발 시스템과 서버 모두 UTF-8 charset을 사용하여 GNU/Linux에서 실행됩니다. –

+0

추가 추측 : 아마 한 서버가 전쟁을 봉쇄하고, 다른 한 개는 그렇지 않습니다. 소유자/권리 문제가 발생할 수 있습니다. 어쨌든 행운을 빌어 요. –

답변

0

모든 서블릿에 대해 우리는 2 개의 메인 태그 < 서블릿>과 < 서블릿 -mapping> "기본"에 대한 서블릿 내가 서블릿 클래스 매핑

+0

그럼 org.apache 클래스에 서블릿 태그를 기본으로 삽입했습니다. catalina.servlets.DefaultServlet'을 사용하여 [여기] (https://tomcat.apache.org/tomcat-7.0-doc/default-servlet.html)에 설명되어 있습니다. 그러나 아무것도 바뀌지 않습니다. –

관련 문제