2016-01-10 4 views
1

У нас есть абсолютно простое приложение с 2 страницами.java spring bean registration

Код:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
    <title>page2</title> 
</head> 
<body> 
page2 
<a href="page1url">page1</a> 
</body> 
</html> 

Controller Код:

package controller; 

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

@Controller 
public class MainController { 

    @RequestMapping(value ="/page1url") 
    public String page1() { 
     return "page1"; 
    } 

    @RequestMapping(value = "/page2url") 
    public String page2() { 
     return "page2"; 
    } 
} 

Чтобы сделать его работу нам необходимо зарегистрировать контроллер. Путь 1. Классическая работа отлично. Код:

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

    <bean class="controller.MainController"/> 

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

</beans> 

Способ 2. Использование Весна контекста Код:

<?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:context="http://www.springframework.org/schema/context" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
     http://www.springframework.org/schema/context 
     http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 

    <context:component-scan base-package="*"/> 

    <!--<bean class="controller.MainController"/>--> 

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

</beans> 

Way 2 не работает.

web.xml является простым и основным кодом

Вопрос: Почему весна-контекст вариант не работает и как это исправить?

P.S. Извиняюсь за много кода

+2

Какие ошибка у вас есть? – Abdelhak

+0

HTTP Status 500 - Servlet.init() для сервлета DispatcherServlet бросил исключение типа отчета Исключения сообщения Servlet.init() для сервлета DispatcherServlet бросил исключение описание Сервера обнаружил внутреннюю ошибку, которая не позволяет ему выполнить эту просьбу. – WladZ

ответ

0

Попробуйте добавить эти строки в файле Spring-context так:

<mvc:annotation-driven />   
<context:component-scan base-package="controller"/> 

Удаление base-package="*"

+0

Не знаю. Я нажал + – WladZ

1

Добавьте эту строку в Spring-контекст:

<mvc:annotation-driven /> 
+0

Не работает. Полный код здесь [ссылка] (https://github.com/WalterP/Spring2pagesSimple/blob/master/src/main/webapp/WEB-INF/dispatcher-servlet.xml) – WladZ

+0

@WladZ О, Кажется, это единственный шаблон ('*') не работает. Как насчет этого: '<контекст: компонент-сканирование base-package =" ** "/>'. Я не уверен, что ... – sndyuk

+0

I Добавить и chenged <контекст: base-package-компонент = "*" /> до <контекст: package = "controller" /> И это сработало. Спасибо всем – WladZ

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