本節我們分析一下常見的 JSP 錯誤信息,并給出解決方案。這些錯誤大家在實際開發中會經常遇到,所以有必要在此提及一下。
1.頁面顯示 500 錯誤,錯誤信息如下:
An error occurred at line: 6 in the generated java file
Syntax error on token ";", import expected after this token
錯誤原因見如下代碼:
<%@ page langue="java" import="java.utli.*; java.text,*"
pageEncoding="GBK">
import 中的分隔符應該是逗號,不能用分號。
2. 頁面顯示 500 錯誤,錯誤信息如下:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 6 in the generated Java file
Syntax error on tokens, delete these tokens
此類信息都表示頁面的編寫出現了語法錯誤。
例如,指令中出現了錯誤字符,或者使用了錯誤的屬性名,或者有錯誤的屬性值。
3.頁面顯示 500 錯誤,錯誤信息如下:
org.apache.jasper.JasperException: /index.jsp(1,1) Unterminated <
%@ page tag
該信息告訴用戶:指令標簽有錯誤。
4.頁面顯示中文為亂碼。例如:
???????JSP??---?????
原因見如下代碼:
<%@ page language="java" contentType="text/html,charset=GBK" import="java.util.*,java.text.*" pageEncoding="GBK"%>
這里contentType="text/html,charset=GBK"分隔符用的是逗號,而此處只能用分號。
5.錯誤:ClassNotFoundException。代表類沒有被找到的異常。
原因:通常出現在 JDBC 連接代碼中,對應的驅動 JAR 包沒有導入,或 sqljdbc.jar 對應的 Class.forName(類名) 中的類名寫錯了。
6.錯誤信息:主機 TCP/IP 連接失敗。
原因:SQL Server 配置管理器中,未啟用對應的 SQL Server 服務的 TCP/IP 協議;或 SQL Server 服務器沒有開啟服務;或連接字符串中的 localhost 寫錯了;或啟用的服務是開發版的 SQL Server,即啟用了 SQL Express 服務;或端口號寫成了 localhost:8080。
7.出錯信息:數據庫連接失敗。
檢查 JAR 包導入。
檢查連接字符串和驅動類字符串(要避免使用 SQL Server 2000 的連接字符串),例如“databasename=數據庫名”寫成了“datebasename=數據庫名”或“localhost: 1433”寫成了“localliost:8080”。