Eclipse IDE ile Spring kullanarak bir uygulama oluşturdum. Projeyi Eclipse IDE'den başlattığımda her şey yolunda, ancak maven projesini bir war dosyası olarak paketlediğimde ve ayrı tomcat'e dağıttığımda şu sorunu yaşıyorum
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
Bu benim xml dosyamdan bir yapılandırma parçacığıdır
<!-- View Resolver -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/pages/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
Bu denetleyiciye erişmeye çalışıyorum
@RequestMapping(value = {"/welcome", "/"})
public String defaultPage() {
return "Web Service data successfuly consumed";
}
tomcat'e dağıtıldığında bunun neden başarısız olduğu hakkında bir fikri olan var mı?
Spring Boot uygulamasında çalışırken de aynı hatayı alıyorum çünkü Spring Boot olarak çalışırken localhost:8080/hello/World
yapmak kolaydır ancak artifact'ı oluşturup Tomcat'e dağıttığınızda localhost:8080/<artifactName>/hello/World
kullanmaya geçmeniz gerekir.
Eclipse'te bir servlet çalıştırmaya çalışırken (sağ tık + "Run on Server") aynı sorunla karşılaştım: "HTTP Durumu: 404 / Açıklama: Kaynak sunucu, hedef kaynak için geçerli bir temsil bulamadı ya da var olan bir temsili ifşa etmek istemiyor" Bir index.html eklemek de tomcat'in çeşitli ayarlarını değiştirmek de yardımcı olmadı.
Sonunda, sorunu beklenmedik bir yerde buldum: Eclipse'de "Build automatically" seçeneği ayarlanmamıştı. Bu nedenle servlet derlenmedi ve sunucuya "myServlet.class" dosyası dağıtılmadı (benim durumumda
Benim ortamım: Eclipse Neon.3 Release 4.6.3, Tomcat-Version 8.5.14., OS Linux Mint 18.1.