Whitelabel Error Page(2)之Internal Server Error
2017-09-07 18:15
561 查看
Whitelabel Error Page
功能
访问路劲url
出错原因
实例如下
代码块
代码解释
错误总结
url:
http://localhost:8080/status?username=需要手动输入的值&password=需要手动输入的值
http://localhost:8080/status?username=admin&password=123
http://localhost:8080/status?username=admin&password=123
返回我们想看到的200成功的页面:
不正确的url(1) —– 传入的参数password写成pass
http://localhost:8080/status?username=admin&pass=123
返回我们很害怕的错误页面
不正确的url(2) —– 密码错误导致的404错误页面
http://localhost:8080/status?username=admin&password=1
返回我们不喜欢的404错误页面
2. 就是说,我们在页面输入的username=某个值和passowrd=某个值将会存到map中,而当我们获取这些值需要从map中来获取
3. 由于map是以键值对存储的,就是说url访问路劲中username=admin,那么key存的是username这个变量名,而value存的是admin。即
map:
key: username
value:admin
map:
key:password
value:123
所以当我们访问url时,url中传入的参数变量名必须与代码中get获取的key变量名相等(map.get(“username”)),即在http://localhost:8080/status?username=admin&password=123 中的username和password不能随便乱写,是代码中定义好的,否则报服务器内部错误,即代码问题
4. 当访问url时,type = Internal Server Error,在后台IDEA 也会看到运行时错误信息,如下:
空指针异常,这种错误就是对象为null,所以从报错提示中的代码行可以判断为null的对象有三个可能性。
1. map
2. map.get(“username”)
3. map.get(“password”)
map不可能为null,map是接口,直接可以调用方法
map.get(“username”),查看访问路劲url,有username字段,所以也不可能为Null
map.get(“password”),查看访问路劲url*,没有password字段,只是有pass字段,所以map.get(“password”)为null
判断空指针异常第二种方法 – debug
设置断点
参考:IntelliJ IDEA Debug调试案例一
type=Internal Server Error 出现的可能性:
1. 代码的问题,需要修改代码。
2. 前台页面传入的数据与后台代码不吻合。
功能
访问路劲url
出错原因
实例如下
代码块
代码解释
错误总结
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback. Thu Sep 07 17:27:34 CST 2017 There was an unexpected error (type=Internal Server Error, status=500). No message available
功能:
从页面的url中手动输入用户名和密码,来验证是否可以登录url:
http://localhost:8080/status?username=需要手动输入的值&password=需要手动输入的值
访问路劲url
http://localhost:8080/status?username=admin&pass=123出错原因
url中传入的参数pass应该改为password,正确的url如下:http://localhost:8080/status?username=admin&password=123
实例如下:
正确的url:http://localhost:8080/status?username=admin&password=123
返回我们想看到的200成功的页面:
不正确的url(1) —– 传入的参数password写成pass
http://localhost:8080/status?username=admin&pass=123
返回我们很害怕的错误页面
不正确的url(2) —– 密码错误导致的404错误页面
http://localhost:8080/status?username=admin&password=1
返回我们不喜欢的404错误页面
代码块
@RestController @RequestMapping("/status") public class StatusController { private String username = "admin"; private String password = "123"; @RequestMapping(value = "") public JsonResult getStatus(HttpServletRequest request, HttpServletResponse response, @RequestParam Map<String,String> map){ if(map.get("username").equals(username) && map.get("password").equals(password)){ return new JsonResult(StatusCode.SUCCESS.getCode(),StatusCode.SUCCESS.getMessage(),new Date()); }else{ return new JsonResult(StatusCode.ERROR.getCode(),StatusCode.ERROR.getMessage(),new Date()); } } }
代码解释:
1. 根据以上代码块,可以看出在访问的路劲url中的参数username和password将会传给后台的代码,而后台是以map来存储前台传入的参数username和password2. 就是说,我们在页面输入的username=某个值和passowrd=某个值将会存到map中,而当我们获取这些值需要从map中来获取
3. 由于map是以键值对存储的,就是说url访问路劲中username=admin,那么key存的是username这个变量名,而value存的是admin。即
map:
key: username
value:admin
map:
key:password
value:123
所以当我们访问url时,url中传入的参数变量名必须与代码中get获取的key变量名相等(map.get(“username”)),即在http://localhost:8080/status?username=admin&password=123 中的username和password不能随便乱写,是代码中定义好的,否则报服务器内部错误,即代码问题
4. 当访问url时,type = Internal Server Error,在后台IDEA 也会看到运行时错误信息,如下:
空指针异常,这种错误就是对象为null,所以从报错提示中的代码行可以判断为null的对象有三个可能性。
1. map
2. map.get(“username”)
3. map.get(“password”)
map不可能为null,map是接口,直接可以调用方法
map.get(“username”),查看访问路劲url,有username字段,所以也不可能为Null
map.get(“password”),查看访问路劲url*,没有password字段,只是有pass字段,所以map.get(“password”)为null
if(map.get("username").equals(username) && map.get("password").equals(password)){
判断空指针异常第二种方法 – debug
设置断点
参考:IntelliJ IDEA Debug调试案例一
错误总结
type=Internal Server Error 这种错误后台运行时会报错type=Internal Server Error 出现的可能性:
1. 代码的问题,需要修改代码。
2. 前台页面传入的数据与后台代码不吻合。
相关文章推荐
- SpringBoot接口服务处理Whitelabel Error Page
- SpringBoot接口服务处理Whitelabel Error Page
- SpringBoot中jsp页面调用iframe标签报Whitelabel Error Page 错误
- spring boot: Whitelabel Error Page的解决方案
- Whitelabel Error Page异常
- spring boot2.0 创建 及 mvc视图映射 jsp时 Whitelabel Error Page(一)
- Spring Boot自定义错误页面,Whitelabel Error Page处理方式
- 阿里云服务器错误:500-内部服务器错误,500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”
- HTTP 错误 500.21 - Internal Server Error 处理程序“PageHandlerFactory-Integr
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedP
- Spring Boot Whitelabel Error Page解决办法
- Spring Boot : Whitelabel Error Page解决方案
- springboot常见错误——Whitelabel Error Page
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipel
- Whitelabel error page问题
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipel
- spring boot: Whitelabel Error Page的解决方案
- Spring boot启动提示Whitelabel Error Page 401 spring需要授权登录
- HTTP 错误 500.21 - Internal Server Error处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedP
- 初学 Spring boot 报错 Whitelabel Error Page 404