Ich habe ein Kriegsprojekt mit einer einzigen Controller-Klasse (MainController.class) mit einem öffentlichen Funktionsindex(), die eine Zeichenfolge zurückgibt, die das letzte Mal den Namen der Ansicht überprüft wurde wurden weitergeleitet auf - und ein einzelnes jsp namens "index.jsp". Die Ansichten sind in/main/webapp/WEB-INF/views/jsp /. MainController.java:Spring MVC Die angeforderte Ressource ist nicht verfügbar
@Controller
public class MainController
{
@Autowired
private ApplicationContextProvider mObjApplicationContextProvider;
@Autowired
private ScheduleService mObjScheduleService;
protected ApplicationContext getApplicationContext()
{
return(getApplicationContextProvider().getApplicationContext());
}
protected ApplicationContextProvider getApplicationContextProvider()
{
return(mObjApplicationContextProvider);
}
protected Object getBean(final Class<?> clsBean)
{
return(getApplicationContext().getBean(clsBean));
}
protected Object getBean(final String sBeanName)
{
return(getApplicationContext().getBean(sBeanName));
}
protected ScheduleService getScheduleService()
{
return(mObjScheduleService);
}
@RequestMapping(value="/")
public String index()
{
return("index");
}
}
index.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Hello World!
</body>
</html>
Meine Konfiguration XML-Datei:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="net.draconia.church" />
<bean class="net.draconia.ApplicationContextProvider" />
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql:sql9.freemysqlhosting.net/sql9158326" />
<property name="username" value="sql9158326" />
<property name="password" value="MqX7sbacgB" />
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:annotation-driven />
</beans>
Aus irgendeinem Grund habe ich den Fehler in meinem Browser, wenn ich zu "gehen http://localhost:8080/Ushering/ ": 404 -" Die angeforderte Ressource ist nicht verfügbar. "
Ich kann nichts in den Protokollen finden (kann aber bei Bedarf posten), um mir mitzuteilen, welche Datei oder Ressource nicht verfügbar ist. Es scheint in der Lage zu sein, den Controller zu finden, da er in der einen Protokolldatei die Anforderungszuordnung für den Controller erwähnt. Was könnte es sein?
Edit: Die WAR-Datei ist Ushering wie in der Pom-Datei und auch in der web.xml als der Name des Projekts definiert, so würde ich denken, der Kontext wäre Ushering und alles in der Spring-Anwendung Seite von Dinge wären nach/Ushering, wenn ich das Anforderungsmapping auf/Hello setze, dann sollte die URL localhost: 8080/Ushering/Hello sein.
Edit: Meine Web.xml Datei
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
<display-name>CrunchifySpringMVCTutorial</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Ushering</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Ushering-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Ushering</servlet-name>
<url-pattern>/s</url-pattern>
</servlet-mapping>
</web-app>
Können Sie Ihre web.xml-Datei posten? – dennislloydjr
Hinzugefügt als Bearbeitung –
Ich habe es! Es gab einen Tippfehler, den ich bemerkte, als ich die web.xml -/s im URL-Muster unten anbrachte. Es sollte/und nur/sein. Ich entfernte das 's', sauber kompilieren Krieg: War-ed es und es kam auf, wie ich es erwarte :-D Danke, dass Sie mich in die richtige Richtung stoßen! –