浏览器HTTP错误、前端常见报错 和 Java后端报错
以下是 浏览器HTTP错误、前端常见报错 和 Java后端报错 的综合整理,包括原因和解决方法,帮助你快速排查问题。
一、HTTP 错误(浏览器报错)
错误码 | 原因 | 解决方法 |
---|---|---|
400 Bad Request | 请求语法错误(如参数格式错误、请求体过大) | 检查URL或表单输入,清除缓存/Cookies |
401 Unauthorized | 未认证(如未登录或Token失效) | 重新登录,检查 Authorization 头 |
403 Forbidden | 无权限访问(如IP限制、文件权限) | 检查用户权限或服务器文件权限 |
404 Not Found | 请求的资源不存在 | 检查URL是否正确,服务器文件是否存在 |
405 Method Not Allowed | 请求方法不被支持(如POST访问GET接口) | 检查API文档,使用正确的HTTP方法 |
408 Request Timeout | 请求超时(服务器未及时响应) | 刷新页面,优化网络或减少请求数据量 |
500 Internal Server Error | 服务器内部错误(代码异常) | 查看服务器日志,检查代码逻辑 |
502 Bad Gateway | 代理服务器无法连接后端(如Nginx+PHP崩溃) | 检查后端服务是否正常运行 |
503 Service Unavailable | 服务不可用(如服务器过载、维护) | 稍后重试,检查服务器负载 |
504 Gateway Timeout | 代理服务器等待后端超时 | 优化后端响应时间,调整代理超时设置 |
505 HTTP Version Not Supported | 服务器不支持HTTP版本 | 改用HTTP/1.1或HTTP/2 |
二、前端常见报错及解决
1. JavaScript 运行时错误
错误 | 原因 | 解决方法 |
---|---|---|
Uncaught TypeError: Cannot read property 'X' of undefined | 访问未定义的变量或属性 | 检查变量是否初始化,使用可选链 obj?.prop |
Uncaught ReferenceError: X is not defined | 变量未声明 | 检查拼写错误,确保变量已定义 |
Uncaught SyntaxError: Unexpected token | 语法错误(如缺少括号、引号) | 检查代码格式,使用ESLint |
Failed to load resource: net::ERR_CONNECTION_REFUSED | 后端服务未启动或CORS问题 | 检查API是否运行,配置CORS(如Access-Control-Allow-Origin) |
Uncaught (in promise) Error: Network Error | 网络请求失败(如跨域、接口错误) | 检查API地址,使用try-catch处理错误 |
2. 前端框架相关错误
框架 | 常见错误 | 解决方法 |
---|---|---|
React | Warning: Each child in a list should have a unique "key" prop | 为循环渲染的元素添加唯一key |
Vue | Error in render: "TypeError: Cannot read property 'X' of null" | 使用v-if或默认值避免访问null |
Angular | NG0100: ExpressionChangedAfterItHasBeenCheckedError | 避免在ngAfterViewInit中直接修改数据 |
3. 跨域问题(CORS)
-
错误:Access to XMLHttpRequest at 'http://api.example.com' from origin 'http://localhost:3000' has been blocked by CORS policy
-
解决:
-
后端设置响应头:
Access-Control-Allow-Origin: * Access-Control-Allow-Methods: GET, POST, PUT
三、Java 后端常见报错及解决
1. Spring Boot 启动错误
错误 原因 解决方法 APPLICATION FAILED TO START 依赖冲突或配置错误 检查pom.xml,排除冲突依赖 BeanCreationException Bean初始化失败(如数据库连接失败) 检查application.yml配置,如datasource.url NoSuchBeanDefinitionException Spring容器找不到Bean 检查@Component/@Service注解是否正确 2. 数据库相关错误
错误 原因 解决方法 SQLSyntaxErrorException SQL语法错误 检查SQL语句,使用JPA/Hibernate调试 Connection refused: connect 数据库服务未启动 检查MySQL/PostgreSQL是否运行 Hibernate: Unknown column 'X' in 'field list' 数据库表字段不匹配 检查@Column注解或更新表结构 3. 空指针异常(NPE)
-
错误:java.lang.NullPointerException
-
解决:
- 使用Optional避免空指针:
Optional.ofNullable(obj).ifPresent(o -> o.doSomething());
-
检查对象是否初始化(如new或数据库查询结果)。
4. 线程池/并发问题
-
错误:RejectedExecutionException(线程池满)
-
解决:
-
调整线程池大小:
@Bean public Executor asyncExecutor() { ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(10); executor.setMaxPoolSize(50); return executor; }
5. 文件/IO 错误
-
错误:FileNotFoundException 或 AccessDeniedException
-
解决:
-
检查文件路径(绝对路径/相对路径)。
-
确保程序有读写权限(Linux:chmod)。
四、通用排查流程
-
前端:
(图片来源网络,侵删)-
按 F12 查看Console/Network错误。
-
检查API请求是否正确(URL、参数、Headers)。
(图片来源网络,侵删) -
后端:
-
查看日志(如logs/application.log)。
(图片来源网络,侵删) -
使用Postman测试API。
-
数据库:
-
检查连接配置(如spring.datasource.url)。
-
使用SQL客户端(如DBeaver)手动执行SQL。
-
-
-
总结
-
浏览器HTTP错误:检查请求是否正确,服务器是否正常。
-
前端报错:关注Console日志,检查变量、API请求、跨域问题。
-
Java后端报错:查看日志,检查Spring配置、数据库连接、空指针。
-
-
-
-
-
-
-
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。