在项目中直接启动jetty,发布自己

代码很简单,主题代码就是4行
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();
	}


WebAppContext的两个参数,第一个参数是项目要发布的目录,web表示项目目录下的web文件夹为发布目录。第二个参数是发布的url,如/web表示:域名/web 是项目访问的根url

这里没用ServletContextHandler ,这个是发布servlet的,不需要支持发布项目,也不需要支持jsp。

项目中使用jetty发布项目注意的地方:主要是jar包的导入
1 需要servlet-api.jar,不让会报这个错:


java.lang.NoClassDefFoundError: javax/servlet/ServletRequestListener


2 需要org.apache.jasper.glassfish的包 和jsp-api的包r 以及javax.el的包,这样才能支持jsp。这些jar是在下载的jetty的lib的jsp目录下。

3 我开始的时候根据报错导入ant的包,到如tools包,在不需要jasper glassfish的包居然也可以支持jsp,好神奇。

附件是项目的源码

猜你喜欢

转载自huangyunbin.iteye.com/blog/1885032
今日推荐