HTTP状态 500 - 内部服务器错误
来源:2-1 JSTL介绍与下载
慕神0204222
2022-05-05 18:35:56
问题描述:
型 异常报告
消息 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况
org.apache.jasper.JasperException: 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:54) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:294) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:81) org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251) org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:435) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:493) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450) org.apache.jasper.compiler.Parser.parse(Parser.java:144) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244) org.apache.jasper.compiler.ParserController.parse(ParserController.java:105) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:202) org.apache.jasper.compiler.Compiler.compile(Compiler.java:374) org.apache.jasper.compiler.Compiler.compile(Compiler.java:350) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:597) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.hewen.servlet.JSTL.service(JSTL.java:25) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
相关代码:
package com.hewen.servlet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author : [ZhangHewen]
* @version : [v1.0]
* @className : JSTL
* @description : [学习jstl表达式,先导入包]
* @createTime : [2022/5/5 16:37]
*/
@WebServlet("/jstl01")
public class JSTL extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置两个属性,成绩和评级
request.setAttribute("score", "78");
request.setAttribute("grade","B");
//请求转发
request.getRequestDispatcher("/use_core.jsp").forward(request,response);
// request.getRequestDispatcher("/index.jsp").forward(request,response);
}
}相关代码:
<%--
Created by IntelliJ IDEA.
User: ZhangHewen
Date: 2022/5/5
Time: 16:42
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%--引入jstl的核心库--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>使用jstl的核心库</title>
</head>
<body>
<%--验证是否导入核心库--%>
<h1>${requestScope.score}</h1>
<%--使用c标签--%>
<c:if test="score>=60">
<h2 style="color: chartreuse">恭喜您的成绩及格!</h2>
</c:if>
<c:if test="score<60">
<h2 style="color: red">您的成绩不及格!再接再厉!</h2>
</c:if>
</body>
</html>相关截图:

1回答
好帮手慕小脸
2022-05-06
同学你好,
1、为使的类名命名更加规范,建议同学将JSTL修改为Jstl
2、根据同学截图反馈,发现jstl相关的jar包在ide项目中有,但在tomcat发布的应用WEB-INF/lib下没有,这是工具发布项目的问题,这里需要同学复制lib到WEB-INF目录下

其次将如下位置处的原先的内容移除掉,重新进行jar包的添加



(另一个jar包操作重复即可!)
3、在对应的jsp中获取值应使用${},修改代码如下所示:

祝学习愉快~
相似问题