在你的应用里使用Jetty嵌入式

网友投稿 277 2022-08-24

在你的应用里使用Jetty嵌入式

Jetty嵌入式的支持jsp的web container,我在一个港股行情系统里嵌入了jetty来通过 Jetty的pom依赖库

org.mortbay.jetty jetty 6.1.19 tomcat jasper-compiler 5.5.12 tomcat jasper-runtime 5.5.12 javax.servlet jstl 1.1.2 taglibs standard 1.1.2 taglibs standard 1.1.2 ant ant 1.6.5 commons-logging commons-logging 1.1.1

jetty没有自己的compiler,所以需要依赖tomcat的jar。同时它需要ant的compiler,否则会报错: java.lang.IllegalStateException: No Java compiler available at org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:224)... 所以需要加入ant 需要tools.jar 否则会提示 Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:105) 所以把JAVA_HOME/lib/tools.jar加入到启动命令里即可,如果是在eclipse或者其他的IDE里启动,把tools.jar加到JRE的lib里。 启动代码

public void run() { try { server = new Server(); SelectChannelConnector connector = new SelectChannelConnector(); connector.setPort(this.getPort()); server.addConnector(connector); ContextHandlerCollection contexts = new ContextHandlerCollection(); server.setHandler(contexts); WebAppContext webapp = new WebAppContext(); webapp.setDefaultsDescriptor(getDescriptor()); webapp.setResourceBase(getResourceBase()); webapp.setContextPath(getContextPath()); contexts.addHandler(webapp); /** 启动 */ server.start(); System.out.println("Monitor Server listening on : " + this.getPort()); server.join(); } catch (Exception e) { e.printStackTrace(); } }

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:学习时时刻刻都在继续--小得reference
下一篇:如何正向引导“国潮营销”?(国潮品牌推广策略)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~