2017-09-21 14 views
0

저는이 문제로 2 일 동안 고생했습니다. 해결책을 찾지 못했습니다. 위와 같은 프로젝트 구조가 있습니다 : enter image description here (서블릿)의 요청을 survey.jsp으로 전달하고 싶습니다. 로컬 호스트에 IntelliJ에서 배포하면 앞으로 성공하게됩니다. 이제 .war을 가져와 Tomcat Apache 관리자를 사용하여 전용 서버에 배포하십시오. dedicatedserverip:8080으로 전화하면 index.jsplocalhost:8080처럼 올바르게로드됩니다. 그것을 전달할 때 그러나 두 가지 경우가 있습니다 :원격 서버에 배포 할 때 서블릿에서 .jsp로 요청 전달이 실패합니다.

  1. 앞으로 내가 오류 404 얻을 발생하면 .war 파일의 이름 survey.war 다릅니다. (이 경우 요청은 dedicatedserverip:8080으로 전달됨)
  2. .war 파일의 이름이 survey.war 일 때 전달이 발생하면 index.jsp 페이지가 다시로드됩니다.
    req.getRequestDispatcher("/survey.jsp").forward(req, resp); 
    

    지금 내 질문은

    : 뭔가 잘못 수행 있습니까 아래

내가 요청을 전달하는 데 사용하는 코드입니다 (이 경우 내가 요청이 dedicatedserverip:8080/survey로 전달됩니다 생각)? 아니면 내가 알지 못하는 것이 있습니까? localhost와 같이 어떻게 수정하고 필요한 결과를 얻을 수 있습니까?

답변

0

마지막으로, 나는이 문제를 해결했다. 앞으로와 관련이 없으며 문제는 제출 양식 작업에있었습니다. 조치는 action="/survey"입니다. 나는 ${pageContext.request.contextPath}/survey으로 바꿨다. 그리고 그 문제를 해결했습니다. 이것은 .war 이름이 survey.war이고 다른 경우 오류 페이지 일 때 색인 페이지가 호출 된 이유를 설명합니다. 지원해 주셔서 감사합니다.

1

절대 대신 전달을 시도 했습니까?

req.getRequestDispatcher("survey.jsp").forward(req, resp); 

그런 다음 war 파일의 이름을 변경하고 응용 프로그램의 ServletContext를 변경하면 더 이상 문제가 없습니다.

+0

지원해 주셔서 감사합니다. 나는 그런 작은 실수로 많은 시간을 낭비했다. 내 대답에 대한 해결책을 찾을거야. – HasS