jettyserver.java.svn-base

来自「EasyJWeb是基于java技术」· SVN-BASE 代码 · 共 73 行

SVN-BASE
73
字号
package com.easyjf.server;

import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;

public class JettyServer {
	private static JettyServer instance;
	private final static Object keyForEasyJFJetty = new Object();

	public static JettyServer getInstance() {
		if (JettyServer.instance == null) {
			synchronized (JettyServer.keyForEasyJFJetty) {
				if (JettyServer.instance == null) {
					JettyServer.instance = new JettyServer();
				}
			}
		}
		return JettyServer.instance;
	}

	private JettyServer() {

	}

	public static void main(String[] s) {
		JettyServer js = new JettyServer();
		js.run(s);
	}

	public void run(String... s) {
		int port = 82;
		// String webapp = "../webapp";
		String webapp = "src/main/webapp";
		String contextPath = "/";

		if (s.length == 1) {
			port = Integer.parseInt(s[0]);
		}
		if (s.length == 2) {
			port = Integer.parseInt(s[0]);
			webapp = s[1];
		}

		try {
			Thread.sleep(2000);
		} catch (InterruptedException e1) {
			e1.printStackTrace();
		}

		Server server = new Server();
		Connector connector = new SelectChannelConnector();
		connector.setPort(port);
		server.addConnector(connector);
		WebAppContext wac = new WebAppContext();
		wac.setContextPath(contextPath);
		wac.setWar(webapp);
		String[] welcomeFile = { "index.ejf", "index.html" };
		wac.setWelcomeFiles(welcomeFile);
		server.setHandler(wac);
		server.setStopAtShutdown(true);
		try {
			server.start();
		} catch (Exception e) {
			e.printStackTrace();
		}
		System.out.println("成功启动WEB服务器,默认监听端口" + port);
		System.out.println("可以用http://127.0.0.1:" + port + contextPath
				+ "status查看服务是否正常");
		System.out.println("按Ctrl+C键终止服务.");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?