[size=medium]代码很简单,主题代码就是4行[/size]
[size=medium]WebAppContext的两个参数,第一个参数是项目要发布的目录,web表示项目目录下的web文件夹为发布目录。第二个参数是发布的url,如/web表示:域名/web 是项目访问的根url
这里没用ServletContextHandler ,这个是发布servlet的,不需要支持发布项目,也不需要支持jsp。
项目中使用jetty发布项目注意的地方:主要是jar包的导入
1 需要servlet-api.jar,不让会报这个错:[/size]
[size=medium]2 需要org.apache.jasper.glassfish的包 和jsp-api的包r 以及javax.el的包,这样才能支持jsp。这些jar是在下载的jetty的lib的jsp目录下。
3 我开始的时候根据报错导入ant的包,到如tools包,在不需要jasper glassfish的包居然也可以支持jsp,好神奇。
附件是项目的源码[/size]
public class Main {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
WebAppContext webContext = new WebAppContext("web","/web");
server.setHandler(webContext);
// ServletContextHandler context = new ServletContextHandler();
// context.setContextPath("/");
// context.addServlet(SecureServlet.class, "/*");
// server.setHandler(context);
server.start();
}
[size=medium]WebAppContext的两个参数,第一个参数是项目要发布的目录,web表示项目目录下的web文件夹为发布目录。第二个参数是发布的url,如/web表示:域名/web 是项目访问的根url
这里没用ServletContextHandler ,这个是发布servlet的,不需要支持发布项目,也不需要支持jsp。
项目中使用jetty发布项目注意的地方:主要是jar包的导入
1 需要servlet-api.jar,不让会报这个错:[/size]
java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener
[size=medium]2 需要org.apache.jasper.glassfish的包 和jsp-api的包r 以及javax.el的包,这样才能支持jsp。这些jar是在下载的jetty的lib的jsp目录下。
3 我开始的时候根据报错导入ant的包,到如tools包,在不需要jasper glassfish的包居然也可以支持jsp,好神奇。
附件是项目的源码[/size]