【发布时间】:2013-05-22 12:56:17
【问题描述】:
我是 spring mvc 的初学者,正在尝试创建非常基本的 Web 应用程序流程。我有 result.jsp,通过单击提交应该呈现 submit.jsp。我可以看到控制器被调用,但我的视图 submit.jsp 没有被呈现。它给了我HTTP 404 状态错误,tomcat 中没有日志。有人可以帮我弄清楚这里出了什么问题。
我还观察到,在运行应用程序时,我被定向到testspring/,在那里我看到了我的 result.jsp。我宁愿希望它在运行应用程序时是testspring/result.jsp。请原谅我的无知。
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>testspring</display-name>
<servlet>
<servlet-name>frontcontrol</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>frontcontrol</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
frontcontrol-servlet.xml
<context:component-scan base-package ="com.shell.spring.testspringapp">
</context:component-scan>
<bean id ="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
控制器类- Frontcontrol
@Controller
public class Firstcontrol {
@RequestMapping(value="/")
public ModelAndView invokeme(Model m) {
ModelAndView mav=new ModelAndView();
mav.setViewName("result");
System.out.println("In invoke me method");
return mav;
}
@RequestMapping(value="/submit" ,method=RequestMethod.GET)
public String submit(Model m) {
System.out.println("In submitmethod");
return "submit";
}
}
【问题讨论】:
-
在您的 web.xml 文件中将
url-pattern的 '/' 替换为 '*'。 -
用
*.* 替换/ 只是为了测试,如果它工作正常并且你想要类似的 URL 模式ABC.HTM 然后放*.HTM -
@AbhendraSingh 不走运。当我运行该应用程序时,它给了我 http 404 错误。
-
@JOHND 它给了我同样的 http 404 错误
-
查看您的第一个请求映射 @RequestMapping(value="/")
标签: spring model-view-controller