2016-01-08 6 views
0

Я прочитал много вопросов, похожих на мои, но я не нашел решения. Я создал этот проект в eclipse, и он работал правильно. Впоследствии я загрузил его в github, удалив его с моего ПК. Позже я клонировал его из github на свой компьютер, и я использовал «import existing maven project» и загрузил проект в eclipse. Но когда я запускаю его сейчас я получаю следующую ошибку (я добавил проект на сервер Tomcat):HTTP Status 404 Spring MVC

HTTP Status 404 - /springProject/ 
type Status report 

message /springProject/ 

description The requested resource is not available. 


-------------------------------------------------------------------------------- 

Apache Tomcat/8.0.30 

Вот мои коды:

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <display-name>springProject</display-name> 
    <context-param> 
     <param-name>contextClass</param-name> 
     <param-value> 
      org.springframework.web.context.support.AnnotationConfigWebApplicationContext 
     </param-value> 
    </context-param> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 

    <servlet> 
     <servlet-name>SpringDispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextClass</param-name> 
      <param-value> 
       org.springframework.web.context.support.AnnotationConfigWebApplicationContext 
      </param-value> 
     </init-param> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>springProject.springProject</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>SpringDispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

    <session-config> 
     <session-timeout>30</session-timeout> 
    </session-config> 
</web-app> 

MvcConfiguration.java

package springProject.springProject.config; 

import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.ComponentScan; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.web.servlet.ViewResolver; 
import org.springframework.web.servlet.config.annotation.EnableWebMvc; 
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; 
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; 
import org.springframework.web.servlet.view.InternalResourceViewResolver; 

@Configuration 
@ComponentScan(basePackages="springProject.springProject") 
@EnableWebMvc 
public class MvcConfiguration extends WebMvcConfigurerAdapter{ 

    @Bean 
    public ViewResolver getViewResolver(){ 
     InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
     resolver.setPrefix("/WEB-INF/views/"); 
     resolver.setSuffix(".jsp"); 
     return resolver; 
    } 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
    } 


} 

HomeController.java

package springProject.springProject.controller; 

import java.io.IOException; 

import javax.servlet.http.HttpServletResponse; 

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

@Controller 
public class HomeController { 

    @RequestMapping(value="/") 
    public ModelAndView test(HttpServletResponse response) throws IOException{ 
     return new ModelAndView("home"); 
    } 


} 

ответ

1

Какое имя вы используете для этого приложения для tomcat? Сообщение об ошибке предполагает, что оно должно быть springProject. Обратите внимание, что Tomcat также отмечает заглавные буквы, поэтому он должен быть в webapps/springProject в tomcat, если вы еще не использовали другую технику развертывания. Если вы развернули через eclipse (как вы отмечаете этот вопрос с помощью eclipse), просто убедитесь, что это имя вашего проекта и имя, которое показано в представлении «Сервер».

Кроме того, проверьте журналы журналов tomcat для любых проблем - например. возможно, возникла проблема с развертыванием, которая запрещает вам видеть этот проект.

+0

Проект был сохранен с правильным именем, но проблема заключалась в том, что сервер tomcat в Eclipse уже запускался, когда я импортировал новый проект из github. Когда я перезапустил сервер tomcat, ошибка исчезла. – xpg94

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