2010-12-09 39 views
1

我正在将我的应用程序服务器从Resin移动到Tomcat 6.在此过程中,我面临着JSP编译的许多问题。 (由于语法错误接收JasperExceptions的负载)。 我的JSP使用JSTL 1.1在Resin中编译和平滑运行。Tomcat 6中的自定义JSP编译器?

有什么办法,我可以使用树脂的JSP编译类即“com.caucho.jsp.JspCompiler”,而不是在Tomcat的6

提供简单的Tomcat碧玉编译器使用特定的编译器,而不是碧玉

+0

你到底面临哪些错误?请说出一些。 – BalusC 2010-12-09 20:45:47

+0

问题在于我们不符合JSP规范,并且Resin编译器没有抛出任何异常(Resin.jar中存在com.caucho.jsp.JspCompiler)。现在在Tomcat中,文章告诉我它对JSP非常严格标准规格。 – Reinwald 2010-12-11 06:59:27

回答

0

您是否已下载并将JSTL库添加到您的应用程序中? Resin似乎在其发行版中包含JSTL,而Tomcat则没有。

鉴于在Tomcat

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
<html> 
<body> 
    <h1> 
    <c:out value="Hello World" /> 
    </h1> 
</body> 
</html> 

样本JSP运行安装JSTL库之前,Tomcat的提供了以下错误

org.apache.jasper.JasperException: 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 
    at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) 
    at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) 
    at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) 

一旦安装JSTL库(Download Link)错误消失和你好世界被印在屏幕上。

由于您没有向我们显示错误,我会假设您的错误可能类似。 应该不需要更改使用哪个编译器。