jetty-runner 如何配置 jstl

来源:互联网 发布:古天乐演技 知乎 编辑:程序博客网 时间:2024/06/06 02:30
HTTP ERROR 500Problem accessing /SpringMVC/list.jsp. Reason:    Server ErrorCaused by: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 applicationat org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:277)at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:75)at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:243)at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:124)at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:421)at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:479)at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1435)at org.apache.jasper.compiler.Parser.parse(Parser.java:139)at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:227)at org.apache.jasper.compiler.ParserController.parse(ParserController.java:100)at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:199)at org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)at org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)at org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:108)at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:845)at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1689)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)at org.eclipse.jetty.server.Server.handle(Server.java:524)at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:319)at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:253)at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)at java.lang.Thread.run(Thread.java:748)

使用JSTL标签,但是在使用Jetty Runner部署时,发生错误。使用gretty则没有问题。

另外在本地使用jetty则没有问题,那就有可能是插件的问题了。

解决:

在/WEB-INF/lib目录下加入jstl的jar包。

并且在web.xml配置jsp-config:

<jsp-config>    <taglib>        <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>        <taglib-location>/WEB-INF/lib/c.tld</taglib-location>    </taglib></jsp-config>
或者直接把相关的*.tld放在WEB-INF文件夹下,这样就不用再配置taglib了。

我的external libraries已经存在jstl的jar包了,但是我认为这只是解决编译时的依赖问题,运行时并没有解决(找不到依赖的JSTL jar包)。

如果不去阅读jetty runner的源码,虽然只是解决了问题,但终究不是学习之道。


Jetty-Runner:A plugin that allows you to quickly run Jetty from IntelliJ IDEA. 


原创粉丝点击