2016-12-03 3 views
0

Я хочу показать простой JSP-файл с Spring, но не могу заставить его работать. Вот мой HelloController.java:Показать простой JSP с Spring

package com.javatpoint; 

import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.servlet.ModelAndView; 

@Controller 
public class HelloController { 

    @RequestMapping("/hello") 
    public ModelAndView mymethod(){ 
     return new ModelAndView("hellopage","msg","Hello First Spring"); 
    } 
} 

Я получил index.jsp файл:

<html> 
<body> 
<h2>Hello World!</h2> 

<%= java.util.Calendar.getInstance().getTime() %> 

<a href="hello">click here</a> 

</body> 
</html> 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

    <servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 

</web-app> 

Пружинный-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd"> 

<context:component-scan base-package="com.javatpoint"></context:component-scan> 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
<property name="prefix" value="/WEB-INF/jsp/"></property> 
<property name="suffix" value=".jsp"></property> 
</bean> 

</beans> 

И мой простой hellopage.jsp

Message is: ${msg} 

Но когда я запустить приложение весной и перейти к localhost:8080/hello я просто получаю эту ошибку:

Whitelabel Error Page 

This application has no explicit mapping for /error, so you are seeing this as a fallback. 

Sat Dec 03 12:52:32 CET 2016 
There was an unexpected error (type=Not Found, status=404). 
No message available 

Вот структура папок моих файлов:

directory structure

Вы можете скачать мой код here, чтобы запустить его самостоятельно.

Кстати, у меня этот код от here.

Может кто-нибудь помочь мне узнать, что я делаю неправильно? Я не очень хорошо знаком с весной и с этими web.xml и spring-servlet.xml, поэтому я думаю, что там что-то не так.

+0

Что такое корень приложения? или если вы развернули в Tomcat то, что является вашим именем проекта в папке webapps? – developer

ответ

0

Добавить Thymeleaf зависимость, как показано ниже:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-thymeleaf</artifactId> 
</dependency 

Попробуйте с этим для другой ошибки в комментариях:

<bean id="templateResolver" 
    class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> 
    <property name="prefix" value="/WEB-INF/" /> 
    <property name="templateMode" value="HTML5" /> 
</bean> 

Кроме того, с этим в index.jsp файле & hellopage.jsp:

<html xmlns="http://www.w3.org/1999/xhtml" 
xmlns:th="http://www.thymeleaf.org" 
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3" 
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"> 

<head> 
<meta charset="utf-8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
<title>k</title> 
</head> 
+0

Спасибо за ваш быстрый повтор. Я добавил зависимость и теперь получаю эту ошибку: «Ошибка разрешения шаблона« hellopage », шаблон может не существовать или быть недоступным для любого из настроенных шаблонов Resolvers' Вы знаете, как я могу это исправить? – Peter

+0

Я добавил компонент в мои 'spring-servlet.xml' и' index.jsp', но я все равно получаю ту же ошибку. Я что-то упустил? Могли ли вы запустить приложение с этими изменениями в моих исходных файлах? – Peter

+0

@Peter, также добавить html-код в файл hellopage.jsp. –

Смежные вопросы