• Whitelabel Error Page

    • 功能
    • 访问路劲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和password

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

 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. 前台页面传入的数据与后台代码不吻合。

Whitelabel Error Page(2)之Internal Server Error相关推荐

  1. HTTP Error 500.19 – Internal Server Error – 0x80070021 (IIS 8.5)

     http://www.tuicool.com/articles/ZJ7F3aV HTTP Error 500.19 – Internal Server Error – 0x80070021 (I ...

  2. 解决IE打开页面后发生 HTTP 500 - Internal server error 错误

    最近,在很多论坛上看到,很多人遇到HTTP 500 - Internal server error 的错误,所以这也就是促使我写这片文章的动力. 这个错误表明 服务器设置有问题,而最常出错的是 服务器 ...

  3. retrofit2.adapter.rxjava.HttpException: HTTP 500 Internal Server Error

    09-12 13:51:34.396 27715-27715/com.moreunion.zhenghao I/x_log:HttpParams.getParmes(L:38): =====编号=== ...

  4. HTTP 错误 500.21 - Internal Server Error 解决方案

    不久前重新安装了Windows7,在安装了VS2010 开发平台之后,将网站发布到IIS,访问发生如下错误: HTTP 错误 500.21 - Internal Server Error处理程序&qu ...

  5. HTTP 错误 500.21 - Internal Server Error

    HTTP 錯誤 500.21 - Internal Server Error 處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 & ...

  6. Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决

    今天在测试网站的时候,在浏览器中输入http://localhost/时,发生如下错误: HTTP Error 500.21 - Internal Server Error Handler " ...

  7. 500 - Internal server error.

    Server Error 500 - Internal server error. There is a problem with the resource you are looking for, ...

  8. Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法

    Win2008上.NET4.0部署出错HTTP 错误 500.21 - Internal Server Error的解决方法 参考文章: (1)Win2008上.NET4.0部署出错HTTP 错误 5 ...

  9. 【转】nginx提示:500 Internal Server Error错误的解决方法

    [转]nginx提示:500 Internal Server Error错误的解决方法 参考文章: (1)[转]nginx提示:500 Internal Server Error错误的解决方法 (2) ...

最新文章

  1. [心得分享] 我在 GitHub 上学习开源
  2. python打开方式错误_浅谈python 调用open()打开文件时路径出错的原因
  3. GenerateProjectFiles.bat分析
  4. python安装mysqldb模块,如何使用pip安装Python MySQLdb模块?
  5. android studio发布版和测试版证书SHA1获取
  6. HDU1850 Being a Good Boy in Spring Festival
  7. git可视化工具Sourcetree使用全攻略(包括各种git冲突解决)
  8. PDF复制文本快速去除换行,解决段落错乱
  9. 计算机无法进行磁盘碎片整理,无法启动win7系统磁盘碎片整理的解决方案
  10. 工程制图与AUTOCAD【1】
  11. 大咖联袂发布!《慧技术·惠金融——2022金融科技趋势研究报告》开放下载
  12. 一文搞懂vim复制粘贴
  13. 基线_项目管理之答疑解惑:基准与基线??
  14. redis源码阅读三-终于把主线任务执行搞明白了
  15. 服务器Linux环境下安装Matlab2018b
  16. WPA3 vs WPA2
  17. ExcelVBA实现一键生成word文字报告及批量操作[原创]
  18. 现在是用AI给工业视觉检测赋能最好的时代
  19. ONEROOT获得Bithumb大股东BXA战略投资,成为区块链行业准独角兽
  20. twitter php_php调用twitter api

热门文章

  1. Phonetic symbol 清辅音 -- s
  2. android 各类demo链接
  3. 角摩电子书制作工具(JoymoEBook)v1.0绿色版
  4. 收益率计算年利率以及每期租金
  5. 2021-09-29 计算BMI值(国际上常用的衡量人体胖瘦程度的一个标准)(要保留多少位有效数字可以用python内置的 round 函数)
  6. 安卓使用ContentProvider实现读取手机联系人和短信内容
  7. SAP UI5 SimpleForm 里在水平方向显示多组 Form 元素的实现方法试读版
  8. 计算机考研院校难度排行榜
  9. 智慧商圈支付宝小程序(ISV系统服务商开发模式)
  10. MySQL基础(二)