我正在尝试一个简单的Web应用程序来实现CRUD操作。当我在tomcat-7上运行我的应用程序然后我得到我的主页。当我点击“添加Spcr”链接时,它会显示addSpcr.jsp表单页面。填写表单后,当我点击保存然后它给我以下错误:
HTTP Status 404 - /insert
description:requested resource is not available
addSpcr.jsp页面:
<form method="POST" action="/insert" >
//form body
</form>
当我点击保存按钮时,理想情况下应该导航到
https://localhost:8080/SampleLeaderTool/insert
但它导航到网址
https://localhost:8080/insert
来自控制器的方法是:
@RequestMapping(value = "/insert",method = RequestMethod.POST)
public ModelAndView insertData(@ModelAttribute Spcr spcr){
if (spcr != null)
a.insertData(spcr);
ModelAndView model = new ModelAndView("success");
return model;
}
从spring-servlet.xml查看解析器:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
我无法弄清楚我在这里做错了什么。
答案 0 :(得分:1)
这是因为您在表单操作中缺少上下文路径。
要避免此类问题,请在${pageContext.servletContext.contextPath}
之前添加/insert
。
例如:
<form method="POST" action="${pageContext.servletContext.contextPath}/insert" >
//form body
</form>
答案 1 :(得分:0)
你可以写这段代码。这是工作。
<form method="POST" action="${pageContext.request.contextPath}/insert" >
//form body
</form>
答案 2 :(得分:0)
您必须在插入之前添加${pageContext.servletContext.contextPath}
,因为它错过了操作上下文的路径