2016-08-12 3 views
0

서블릿을 작성하고 컴파일했습니다.이 서버는 내 WEB-INF/classes 폴더에 추가했으며 파일을 /MyServlet으로 업데이트했습니다.서블릿은 로컬 호스트에 직접 액세스 할 수 있지만 사이트 이름 뒤에 액세스 할 때는 액세스 할 수 없습니다.

이것은 http://localhost:8080/MyServlet으로 이동하여 예상되는 결과를 얻을 수 있다는 점에서 효과가 있습니다.

이제는 http://localhost:8080/MySite.html/MyServlet으로 이동하여이 서블릿에 액세스 할 수 있기를 기대하지만 404 오류가 발생합니다.

http://localhost:8080/MySite.html에 문제없이 액세스 할 수 있으며 html 파일은 WEB-INF 폴더와 동일한 수준에 있습니다. 사이트가 classes 폴더에 액세스 할 수없는 것 같습니다.이 문제를 해결하려면 다른 설정이 필요합니까?

+0

DynamicWebApplication 프로젝트입니까? – Victor1125

+0

원래 JavaEE Application Client 프로젝트에 서블릿을 작성 했었지만 새로운 동적 웹 애플리케이션 프로젝트를 만들었지 만 여전히 동일한 결과를 얻었습니다. 서블릿에'localhost'에 직접 액세스 할 수 있지만 백 슬래시로는 사용할 수 없습니다. 실제 사이트 – CrazyHorse

+2

* "http : // localhost : 8080/MySite.html/MyServlet"*을 탐색하여이 서블릿에 액세스 할 수 있기를 기대합니다.하지만 그 이유는 무엇입니까? MySite.html은 분명히 사이트 이름이 아니며, 다른 리소스의 이름 (이 경우 html 파일)입니다. /MySite.html을 방문하면 브라우저가 html 파일을 가져오고,/MyServlet을 선택하면 브라우저가 서블릿에서 생성 한 컨텐츠를 가져옵니다. 나는 너의 기대 외에 잘못된 것을 보지 않는다. – Gimby

답변

1

"이제는 localhost : 8080/MySite.html/MyServlet"으로 이동하여이 서블릿에 액세스 할 수 있습니다. - 오해입니다.

MySite.html은 분명히 사이트 이름이 아니라 다른 리소스의 이름 (여기서는 html 파일)입니다. /MySite.html으로 이동하면 브라우저가 html 파일을 가져오고 /MyServlet으로 이동하면 브라우저는 서블릿에서 생성 된 컨텐츠를 가져옵니다.

관련 문제