我创建了WebProvider类,将码头服务器添加到我的android应用和服务器静态资源中。 我用按钮启动服务器,但是无法访问地址http://localhost:8080。
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.handler.ResourceHandler;
public class WebProvider {
private static Server server;
private static HandlerCollection hc;
private static String path;
public void startServer(){
if(this.path != null && !this.path.isEmpty()){
this.server = new Server(8080);
this.hc = new HandlerCollection(true);
this.setResources(this.path);
this.server.setHandler(this.hc);
try {
this.server.start();
this.server.join();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void setResources(String path){
if(this.hc!= null){
this.path = path;
Handler[] allHandler = this.hc.getHandlers();
if(allHandler != null){
for(int i=0;i<allHandler.length;i++){
this.hc.removeHandler(allHandler[i]);
}
}
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase(path);
this.hc.addHandler(resourceHandler);
}else{
this.path = path;
}
}
}
我调用服务器在一个按钮的回调中设置资源,然后在另一个按钮的回调中启动服务器。
按钮1
WebProvider si = new WebProvider();
si.setResources(this.url);
按钮2
WebProvider si = new WebProvider();
si.startServer();