Java SpringWeb应用程序在tomcat-7.0.37上出现404错误
我制作了SpringWeb应用程序示例项目。我使用基于java的配置和Servlet3.0web.xml完成了所有基本配置。 但是在所有这些配置之后,当我点击url时,它给了我404错误。 有什么问题吗。谁能帮帮我吗 web.xml:Java SpringWeb应用程序在tomcat-7.0.37上出现404错误,java,spring,spring-mvc,servlets,Java,Spring,Spring Mvc,Servlets,我制作了SpringWeb应用程序示例项目。我使用基于java的配置和Servlet3.0web.xml完成了所有基本配置。 但是在所有这些配置之后,当我点击url时,它给了我404错误。 有什么问题吗。谁能帮帮我吗 web.xml: 斯普林普拉茨 家 org.springframework.web.servlet.DispatcherServlet 上下文类 org.springframework.web.context.support.AnnotationConfigWebApplicat
斯普林普拉茨
家
org.springframework.web.servlet.DispatcherServlet
上下文类
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
上下文配置位置
home.practice.configuration.SpringConfigs
1.
家
/实践/*
配置java类:
package home.practise.configuration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@ComponentScan(basePackages = "home.practise.application")
@EnableWebMvc
@PropertySource("classpath:practise.properties")
public class SpringConfigs {
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("/jspfiles/");
internalResourceViewResolver.setSuffix(".jsp");
return internalResourceViewResolver;
}
}
控制器:
package home.practise.application;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("homeController")
public class HomeController {
@RequestMapping("homePage.ht")
public ModelAndView takeMeToHomePage(){
ModelAndView modelAndView = new ModelAndView("index");
return modelAndView;
}
}
当我尝试访问此url时
http://localhost:8080/SpringPracs/practise/homeController/homePage.ht
它给我404错误。虽然当我直接访问jsp页面时,它会显示该页面。当Spring参考手册中的所有示例都使用以
/
开头的绝对URL时,首先使用相对URL。我想它可能会起作用,但请帮自己一个忙,并遵循Spring的例子
但实际问题是您将SpringDispatcherServlet
映射到了/practice/*
。这是完全正确的,但是您还必须声明您的控制器以响应/practice/…
:
@Controller
@RequestMapping("/practise/homeController")
public class HomeController {
@RequestMapping("/homePage.ht")
public ModelAndView takeMeToHomePage(){
...
}
}
编辑:
另一种方法是,您可以将控制器映射到
/homeController
,并将DispatcherServlet映射到/
,我也试过了。。但它仍然不起作用。还可能是什么?打开调试日志并检查服务器/Spring所说的话。@user3407459然后我认为您应该按照Sotirios的建议,准确地显示tomcat日志中的内容,显示“Mapped”{[/homeController/homePage.ht],m“Mapped”{[/homeController/homePage.ht],methods=[],params=[],headers=[],consumes=[],products=[],custom=[]}“到public org.springframework.web.servlet.ModelAndView home.practice.application.HomeController.takeMeToHomePage()@user340759不应该是这样的-你真的重新构建并重新部署了应用程序吗?我无法理解你是如何将映射到“{[/HomeController/homePage.ht],
和@RequestMapping的(“/practice/homeController”)
。至少应映射到“{[/practice/homeController/homePage.ht],。请尝试清理和构建。。。