JSP编译报错:System类无法解析(导入语句无误)
JSP编译报错:System类无法解析的解决办法
问题现象
编译/VerifyBid.jsp时出现异常,报错信息如下:
org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: [63] in the jsp file: [/VerifyBid.jsp] System cannot be resolved 60: + "VALUES(?,?)"; // this is just a segment of the SQL Query 61: ps = con.prepareStatement(insert); 62: ps.setString(1, bid); 63: ps.setTimestamp(2, new Timestamp(System.currentTimeMillis())); 64: ps.executeUpdate(); 65:
页面已导入java.lang.*,且项目JRE版本正常,仅该文件出现此问题。
解决步骤
显式导入System类
尽管java.lang包默认自动导入,但JSP编译器偶尔会出现解析异常,可在import语句中显式添加java.lang.System:<%@ page import="java.io.*,java.util.*,java.sql.*,java.time.LocalDateTime,java.time.format.DateTimeFormatter,java.lang.System,java.lang.*"%>或者单独新增一行导入:
<%@ page import="java.lang.System" %>使用全限定类名绕过导入问题
直接在代码中使用java.lang.System的全限定名称,无需依赖导入:ps.setTimestamp(2, new Timestamp(java.lang.System.currentTimeMillis()));清理服务器JSP编译缓存
服务器会缓存JSP的编译文件,旧缓存可能导致异常。找到服务器的work目录(比如Tomcat的TOMCAT_HOME/work),删除对应项目下的编译文件后重启服务器,让JSP重新编译。检查页面语法错误
页面中未闭合的标签、特殊字符等隐藏语法错误,可能间接引发类解析异常。检查第63行前后的代码,确保语法完整正确。
内容的提问来源于stack exchange,提问作者Reverb God
相关产品推荐
相关产品推荐

