3

我是 jsp 页面的新手,就在昨天我开了一个类似的讨论。这可能是重复的或非常相似的,我很抱歉是否是这种情况,但是我正在开发 jsp 页面只有几天,我还不了解环境、文件夹等是如何的“连在一起”。

我在Apache Tomcat 7上收到以下错误

HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

因为我包含了这个标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

然后,我在“WEB-INF”文件夹中创建了一个文件夹“lib”,并将文件jstl-1-2.jar放在那里。用户建议从此处访问另一个讨论 绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或随此应用程序部署的 jar 文件中解析 以删除standard.jar但我从未有过类似的文件。

在网上阅读和冲浪,我读到在Tomcat 7中应该足以将jstl-1-2.jar放入 WEB-INF/lib 文件夹中,如下所示,但无论有没有该文件,都没有任何反应。错误没有改变。

/var/lib/tomcat7/webapps/jsp_test/web/WEB-INF/lib/jstl-1-2.jar

这是文件夹三:

- webapps - ROOT - index.html
                 - META-INF - context.xml

          - jsp_test - nbproject
                     - src - conf - MANIFEST.MF
                           - java - mypack - Display.java

                     - web - ROOT    - index.jsp
                           - WEB-INF - lib       -jstl-1.2.jar
                                     - web.xml
                                     - beans.xml

我还注意到tomcat 7文件夹中还有另一个web.xml文件:

/etc/tomcat7/web.xml

我是否必须更改web.xml文件中的某些内容?

此外,查看 tomcat7-example 文件夹中有一个web.xml文件,其中许多库都以 .tld 扩展名编写:

/usr/share/tomcat7-examples/examples/WEB-INF/web.xml

我为这个愚蠢的事情迷路了,请帮助我!:)

4

4 回答 4

1

You need to learn how to properly create and deploy a web app on Tomcat.

Get rid of that /web folder under your /jsp_test root. You should just have /WEB-INF and its children under the root.

于 2013-07-25T09:09:08.073 回答
1

请浏览 url 的内容:https ://stackoverflow.com/tags/jstl/info 。它可能会帮助您解决问题。

于 2013-07-25T09:23:48.090 回答
1

就像 duffymo 所说的 je webapp 结构应该如下所示: 请注意,我还删除了 'jsp_test' 下的 'ROOT' 目录,不知道为什么要添加此目录。您现在可以直接从域的根目录访问您的 index.jsp。

- webapps - ROOT - index.html
                 - META-INF - context.xml

          - jsp_test - index.jsp
                     - WEB-INF - lib       -jstl-1.2.jar
                               - web.xml
                               - beans.xml

好吧,我很好奇您用来访问 index.jsp 以获取 500 错误的 url 是什么?

类似' http://yourdomain.net/jsp_test/web/ROOT/index.jsp '?

现在访问 index.jsp 的 url 应该如下所示:' http://yourdomain.net/jsp_test/index.jsp '

我不知道您是否在 tomcat 中为您的应用程序配置了上下文根,但如果您这样做并将其映射到“jsp_test”,则 url 变为:“ http://yourdomain.net/index.jsp

如果您只是在使用您的 tomcat webserver 开发环境,那么将您的应用程序放在 tomcat 的 ROOT webapp 中也非常方便。只需摆脱当前的 ROOT webapp 并将其替换为您的,因此您的结构将如下所示:

- webapps - ROOT - index.jsp
                 - WEB-INF - lib       -jstl-1.2.jar
                           - web.xml
                           - beans.xml
于 2013-07-25T09:29:58.947 回答
0

我想我刚刚解决了这个问题。

希望它对某人有用,低于我的解决方案。

我删除了旧项目,并在与webapps相同级别的名为“tsp_test”的新目录中放置了一个新项目。

server.xml中设置新主机后,我为项目构建了一个新的文件夹结构:

- tomcat7 - jsp_test - conf
                     - java - mypack - Display.java
                     - test
                     - ROOT - META-INF - context.xml
                            - WEB-INF  - web.xml
                                       - lib         - jstl-1.2.jar
                            - index.jsp

现在我遇到了另一个与taglib问题无关的错误:

HTTP Status 500 - Unable to compile class for JSP

我认为这可能是因为一些类错误。

感谢您的帮助!

于 2013-07-25T13:20:25.790 回答