1

Я пытаюсь построить проект весны без использования web.xml, но я часто получаю эту ошибку, я пробовал все, но до сих пор ничто не решило проблему ,Аннотации основаны springapplication без web.xml не работает

**Sep 15, 2015 11:36:50 AM org.springframework.web.servlet.PageNotFound noHandlerFound 
WARNING: No mapping found for HTTP request with URI [/TestApp/] in DispatcherServlet with name 'dispatcher'** 

вот моя конфигурация: -

package com.springWeb.config; 

import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.WebApplicationInitializer; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import  org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcher ServletInitializer; 

public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements WebApplicationInitializer { 
@Override 
protected Class<?>[] getRootConfigClasses() { 

    return new Class[] { AppConfig.class }; 
} 

@Override 
protected Class<?>[] getServletConfigClasses() { 

    return null; 
} 

@Override 
protected String[] getServletMappings() { 
    System.out.println("\n\n\n\n\n\n now deploying"); 
    return new String[]{ "/" }; 
} 

} 

Мои AppConfig Класс

package com.springWeb.config; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.annotation.Import; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.view.InternalResourceViewResolver; 
import org.springframework.web.servlet.view.JstlView; 

@EnableWebMvc 
@Configuration 
@ComponentScan(basePackages = "com.springweb.controller.*") 
@Import({ SpringSecurityConfig.class }) 
public class AppConfig { 

@Bean 
public InternalResourceViewResolver viewResolver() { 
    System.out.println("\n\n\nello hello hello"); 
    InternalResourceViewResolver viewResolver 
      = new InternalResourceViewResolver(); 
    viewResolver.setViewClass(JstlView.class); 
    viewResolver.setPrefix("/WEB-INF/pages/"); 
    viewResolver.setSuffix(".jsp"); 
    return viewResolver; 
} 

} 

И Мой контролер

package com.springWeb.controller; 


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

@Controller 
public class TestController { 
@RequestMapping(value = { "/", "/welcome**" }, method = RequestMethod.GET) 
public String index() { 
    System.out.println("test est test ets tstsd"); 
    return "index2"; 
} 
} 
+0

Какую версию Spring и tomcat вы используете? Может помочь. – CollinD

+0

Как развертывается ваше приложение? Как root (т. Е. '/') Или как '/ TestApp', если он является первым, тогда ошибка правильная, поскольку для'/TestApp' не существует сопоставления. –

+0

Я использую 4.2.1.RELEASE весны и используя org.apache.tomcat.maven: tomcat7-maven-plugin: запустите для развертывания приложения. – thickGlass

ответ

1

Я подозреваю, что это ваша директива @ComponentScan. Попробуйте изменить его

@ComponentScan({"com.springWeb.*"}) 

Похоже, вы, возможно, есть типа О с com.springweb в нижнем регистре.

+0

Пробовал это @ComponentScan (basePackages = "com.springweb.controller. *") И @ComponentScan (basePackages = "com.springweb.controller") никакая комбинация не работает – thickGlass

+0

Вы пробовали с надлежащим случаем? Ваш пакет 'com.springWeb' не' com.springweb'? – CollinD

+0

Это была глупая ошибка после благодарности за то, что она заметила, что ударила головой впустую – thickGlass

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