有很多主题,但是......我有正确的返回参数和参数,我认为这是必要的。有什么问题?
<servlet>
<servlet-name>springMvc</servlet-name>
<servlet-class>com.vse.uslugi.utilities.web.BaseDispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.DispatcherServlet;
public class BaseDispatcherServlet extends DispatcherServlet {
@ResponseBody
@ExceptionHandler(Exception.class)
public String handleThrowable() {
return ErrorService.html("Internal server error");
}
@ResponseBody
@ExceptionHandler(ResourceNotFoundException.class)
public String handleResourceNotFoundException() {
return ErrorService.html("Page not found");
}
}
//--------------------
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ResponseStatus;
@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
}
答案 0 :(得分:0)
调度程序servlet正在由应用程序服务器实例化,因此它可能不是由Spring管理的。
您有一些选择:
@ExceptionHandler
方法添加到控制器。@ExceptionHandler
个方法,并使用@ControllerAdvice
注释该类,默认情况下会将其应用于所有控制器。