????????以下是?瀏覽器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配置、數據庫連接、空指針。