Ich kann nicht finden, die Antwort, dass Konnte nicht aufgelöst Ansicht mit dem Namen 'index' in der servlet mit dem Namen 'DispatcherServlet'
Ich begann zu studieren, Spring MVC und tomcat einfach.
Möchte ich die Anzeige von html-Seite von Feder und ThymeLeaf VewTemplate Motor.
Aber Es funktioniert nicht.
unter meinen konfigurieren Sie die Datei und Controller.
web.xml Datei
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
/webapp/WEB-INF/DispatcherServlet-serlvet.xml
<context:component-scan base-package="com.everblog.controller" />
<!-- ViewResolver be configured by thymeleaf -->
<bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML5" />
<property name="characterEncoding" value="UTF-8" />
</bean>
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
</bean>
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="order" value="1" />
<property name="viewNames" value="*.html" />
</bean>
- Und Controller -
@Controller
public class PostItemController {
@RequestMapping(value="/hello", method = RequestMethod.GET)
public String helloWorld() {
System.out.println("IS IN");
return "index";
}
}
Tippte ich localhost:9000/Hallo, auf browser, dann browser-Anzeige dieser Fehlermeldungen.
HTTP Status 500 - Konnte nicht aufgelöst Ansicht mit dem Namen 'index' in der servlet mit dem Namen 'DispatcherServlet'
type Exception report
Nachricht Konnte nicht beheben, Ansicht mit dem Namen 'index' in der servlet mit dem Namen
'DispatcherServlet'
Beschreibung Der server hat einen internen Fehler, der verhinderte, dass es von der Erfüllung dieser Anforderung.
Ausnahme
javax.- servlet.ServletException: Konnte nicht aufgelöst werden anzeigen mit Namen
'index' in der servlet mit dem Namen 'DispatcherServlet'
org.springframework.web.- servlet.DispatcherServlet.render(DispatcherServlet.java:1190)
org.springframework.web.- servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:992)
org.springframework.web.- servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:939)
org.springframework.web.- servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.- servlet.FrameworkServlet.processRequest(FrameworkServlet.java:953)
org.springframework.web.- servlet.FrameworkServlet.doGet(FrameworkServlet.java:844)
javax.- servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.- servlet.FrameworkServlet.service(FrameworkServlet.java:829)
javax.- servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
Hinweis: Der volle stack-trace, der die Ursache ist in den Apache
Tomcat/7.0.50-Protokolle.
index.html befindet sich auf /webapp/WEB-INF/view/
Was ich zu tun ist, Konfigurieren mehr?
- Vielleicht auf helloWorld() müssen Sie zurück "index.html" (entnommen aus stackoverflow.com/questions/13105048/... )
localhost:9000/hello
fehlt context name (project name ) in der url ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Werfen Sie einen Blick auf die javadoc von
ThymeleafViewResolver#setViewNames(String[])
. Es besagtDen Namen der Ansicht an Ihre
@Controller
handler-Methode gibt ist vonAnsicht, dass der name definitiv nicht dem Muster entsprechen
Mussten Sie
Frühling, verwenden Sie Ihre
ThymeleafViewResolver
, obwohl es nicht in einem späteren Schritt, da keine solchen gelöst JSP existiert.Statt, einfach loszuwerden, die
viewNames
<property>
oder zu beheben und Ihre@Controller
Methode entsprechend.ersetzen Sie die Letzte Bohne allein in thymeleaf resolver mit diesem code, es funktioniert gut,
vielleicht die ant-Muster, die Sie gegeben haben in Ihrem dispatcher-servlet ist nicht so Ihre Ansicht-resolver zu beheben, der Blick... ändern Sie den url-Muster zu
/
statt/*
im dispatcher-servlet./*
Muster Umgang mit der Aussicht, statt Lett das JSP-servlet behandelt.