在 Java Web 开发中,JSP 出错是很常见的问题。可以从错误现象 → 排查思路 → 常见错误 → 调试方法一步步来解决。
JSP 出错一般分这几类:
现象:
org.apache.jasper.JasperException
xxx.java:xx: error: cannot find symbol
原因:
<%@ page import="..." %>)解决:
logs/catalina.out<% %> 里的 Java 代码import 正确<%@ page import="java.util.*, com.xxx.User" %>
检查点:
webapp/
└─ index.jsp
http://localhost:8080/项目名/index.jsp
注意:
WEB-INF 下的 JSP 不能直接访问request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request, response);
JSP 页面乱码:
<%@ page contentType="text/html;charset=UTF-8" %>
表单提交乱码:
request.setCharacterEncoding("UTF-8");
Tomcat 配置(server.xml):
<Connector URIEncoding="UTF-8" ... />
常见原因:
${user.name} <!-- user 为 null 会报错 -->
解决:
<c:if test="${not empty user}">
${user.name}
</c:if>
现象:
页面直接显示 ${user}
解决:
<%@ page isELIgnored="false" %>
或检查 web.xml 版本(2.5 以上默认支持)
<%@ page errorPage="error.jsp" %>
error.jsp:
<%= exception.getMessage() %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
路径:
tomcat/logs/catalina.out
tomcat/logs/localhost.log
你可以把下面任意一项发给我,我帮你精准分析:
我可以一行一行帮你改 ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。