方式1:
package com.test.exception;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
/**
* 异常的配置
*@author 欣赏
*上午10:15:51
*MyExceptionAdvice.java
**/
@ControllerAdvice
public class MyException {
@ExceptionHandler(Exception.class)
public ModelAndView runtimeException(Exception e) {
return new ModelAndView("error");
}
}
方式2:
package com.test.exception;
import org.springframework.boot.web.server.ConfigurableWebServerFactory;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
/**
*@author 欣赏
*下午7:29:43
*MyExceptionPage.java
**/
@Configuration
public class MyExceptionPage
implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory >
{
//2.0之后EmbeddedServletContainerCustomizer 类被WebServerFactoryCustomizer取代了
public void customize(ConfigurableServletWebServerFactory factory) {
// factory.setPort(8088);
// factory.setContextPath("/templates");
ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/error.html");
ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error.html");
factory.addErrorPages(error404Page,error500Page);
}
}
界面要放到static下面