use*_*453 4 java spring spring-mvc
我正在使用spring(版本3.2.5)注释驱动的mvc应用程序,基本上我需要能够捕获任何错误的url到单个方法然后显示错误消息.例如,如果我正确url www.url.valid/login
映射到控制器,如果用户错误地插入loginw或任何无效的URL,它应映射到默认控制器.
我尝试过以下方式:
package com.controller;
import static com.mns.utils.Constants.REGISTER_FAIL;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DefaultSpringController {
@RequestMapping
public String forwardRequest(final HttpServletRequest request) {
return "redirect:/" + REGISTER_FAIL;
}
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序上下文如下:
<!-- Default to DefaultSpringController -->
<bean id="defaultSpringController" class="com.controller.DefaultSpringController">
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="defaultHandler" ref="defaultSpringController"/>
</bean
Run Code Online (Sandbox Code Playgroud)
但不断收到以下错误:
nested exception is java.lang.ClassNotFoundException: com.controller.DefaultSpringController
Run Code Online (Sandbox Code Playgroud)
我不确定我在这里缺少什么,控制器是在正确的包中.
知道我怎么能实现它吗?
提前致谢
看起来,你想要一个找不到全局页面的处理程序.
@ControllerAdvice
public class GlobalExceptionContoller {
@ExceptionHandler(NoHandlerFoundException.class)
public String handleError404(HttpServletRequest request, Exception e) {
return "pageNotFoundViewNameGoesHere";
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
786 次 |
最近记录: |