我的调度程序servlet映射
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/springconfig/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
控制器具有类似的处理程序
@RequestMapping("moduleone")
public class ApplicationController {
@RequestMapping(value="Login.html",method=RequestMethod.GET)
public ModelAndView showLoginPage(){
ModelAndView mv=new ModelAndView("../moduleone/Login");
mv.addObject("loginForm", new LoginForm());
return mv;
}
@RequestMapping(value="Home.html", method = RequestMethod.GET)
public ModelAndView showHome(HttpServletRequest request) {
ModelAndView mv=new ModelAndView("Home");
mv.addObject("customerName",appCon.getFirstName() );
return mv;
}
}
是否可以处理未映射在控制器中的处理程序请求
http://localhost:8090/Project/moduleone/invalidpage.html
http://localhost:8090/Project/moduleone/invalidurl/invalidpage
我试过了@RequestMapping(value="*",method=RequestMethod.GET)
但是没用
由于404(未找到页面)实际上在Web容器级别上产生异常,因此容器通常提供异常处理机制,因此您可以尝试异常(或所谓的错误)处理,如下所示;
首先创建一个控制器
@Controller
public class PageNotFoundErrorController {
@RequestMapping(value="/pageNotFound.html")
public String handlePageNotFound() {
// do something
return "pageNotFound";
}
}
并配置web.xml以便将错误映射到上面编写的控制器;
<error-page>
<error-code>404</error-code>
<location>/pageNotFound.html</location>
</error-page>
您还可以通过简单地将403、500和其他错误代码添加到web.xml并将它们映射到任何控制器来扩展它。
更令人着迷的是,您还可以映射任何异常(甚至是由代码创建的异常);在这里您可以找到有关它的漂亮示例http://www.mkyong.com/spring-mvc/spring-mvc-exception-handling-example/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句