2013-10-08 2 views
0

Я новичок в Spring MVC, я создал проект Spring 3.2 с использованием maven в eclipse. Я реализую класс AbstractAnnotationConfigDispatcherServletInitializer для конфигурации на основе java.не удалось загрузить домашний вид с помощью AbstractAnnotationConfigDispatcherServletInitializer в Spring MVC

я имею следующие плагинов и зависимости в pom.xml

<build> 
     <plugins> 
      <!--source level should be 1.6 (which is not Maven default) for java EE 
       6 projects, so let's change it --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <!-- When using xml-less approach, you need to disable Maven's warning 
       about missing web.xml --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
    <dependencies> 
     <!--We need servlet API for compiling the classes. Not needed in runtime 
--> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>javax.servlet-api</artifactId> 
      <version>3.1.0</version> 
      <scope>provided</scope> 
     </dependency> 
     <!--adding spring mvc --> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-webmvc</artifactId> 
      <version>3.2.4.RELEASE</version>    
     </dependency>  
     <!-- Add Taglib support --> 
     <dependency> 
      <groupId>jstl</groupId> 
      <artifactId>jstl</artifactId> 
      <version>1.2</version> 
     </dependency>   
    </dependencies> 

инициализатор класса, как ......

public class Initializer extends AbstractAnnotationConfigDispatcherServletInitializer{ 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return new Class[]{WebappConfig.class}; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[]{"/"}; 
    }  
} 

WebappConfig класс, как ......

@Configuration 
@ComponentScan(basePackages={"com.sandip.controllers"}) 
@EnableWebMvc 
public class WebappConfig extends WebMvcConfigurerAdapter{ 


    //add view Resolver, Tell SpingMVC where to find view scripts 
     @Bean 
     public InternalResourceViewResolver setupViewResolver() { 
      InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
      resolver.setPrefix("/WEB-INF/views/"); 
      resolver.setSuffix(".jsp"); 

      return resolver; 
     } 
} 

и, наконец, у меня есть HomeController as ..........

@Controller 
public class HomeContoller {  

    @RequestMapping(value = "/", method = RequestMethod.GET) 
    public String home() { 
    return "home"; 
    } 
} 

, когда я запускаю этот мой проект с причалом после мавена построить его отобразить следующий вывод в браузере .....

enter image description here

springZeroXml мое имя проекта нет errro в консоли, пожалуйста, help ..........

+0

Что вы спрашиваете? Что происходит, когда вы делаете запрос на '/'? –

+0

Я хочу, чтобы home.jsp при запуске приложения, когда я делаю запрос/он отображает какое-то сообщение в браузере, о котором я упомянул выше, пожалуйста, зайдите последним –

+0

На какой сервер вы развертываете? –

ответ

1

Я сделал много googleing и узнал, что мне нужно переопределить метод addViewControllers класса WebMvcConfigurerAdapter в WebAppConfig. и код ..........

@Override 
    public void addViewControllers(ViewControllerRegistry registry) { 
     registry.addViewController("/").setViewName("home"); 
    }