一切似乎都没问题,但是当我启动应用程序时,我发现了一个奇怪的资源错误。 这是我的控制器类
@Controller
public class HomeController {
@Autowired
private IMusicStoreService musicStoreService;
@RequestMapping(value="/")
public ModelAndView test(HttpServletResponse response) throws IOException{
return new ModelAndView("home","musicDetForm",new MusicDetails());
}
@RequestMapping(value="AddSong",method = RequestMethod.POST)
@ResponseBody
public String addSong(@ModelAttribute("musicDetForm") MusicDetails musicDetails){
return musicStoreService.addSong(musicDetails);
}
@RequestMapping(value = "SongList/",method = RequestMethod.GET)
@ResponseBody
public List<MusicDetails> getSongList(){
return musicStoreService.getSongList();
}
}
这是我的pom.xml文件的代码部分
<properties>
<failOnMissingWebXml>false</failOnMissingWebXml>
<java.version>1.6</java.version>
<spring.version>3.1.0.RELEASE</spring.version>
<cglib.version>2.2.2</cglib.version>
</properties>
这是我的web.xml文件
<display-name>MusicStore</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>aish.vaishno.musicstore</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>
当我使用sts在tomcat上启动我的应用程序时,我的构建没有显示错误但是我收到此错误
HTTP Status 404 - /MusicStore/
为什么我得到上述错误,尽管我的映射似乎没问题。
答案 0 :(得分:0)
您是否将MusicStore存储在WEB-INF /中? 如果将其设置为web.xml中的索引
,则可以访问但是,一旦您发送请求,响应通常会发送到您提供的URL,并且应该是一个&#39; JSP&#39;文件,但不是servlet。
在你的情况下,代码搞砸了很多,我没有看到任何View或JSP或网页跟随你的MusicStore控制器,确定你可以直接打印它,但那不是一个良好的做法。
如果您可以提供更多代码内容,则可能会更有帮助。 现在,解决方案是在第一次加载servlet时检查是否可以访问索引页,或者检查映射。