为了在Java应用程序中使用嵌入式Jetty服务器提供静态文件,首先需要配置Gradle构建文件:
apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'com.example.Main'
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation 'org.eclipse.jetty:jetty-server:9.4.43.v20210629'
}
jar {
manifest {
attributes(
'Main-Class': 'com.example.Main'
)
}
from {
configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
}
接下来是主类的代码,用于启动Jetty服务器并设置资源处理器以提供静态文件:
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
public class Main {
public static void main(String[] args) throws Exception {
Server server = new Server(8080);
ResourceHandler resourceHandler = new ResourceHandler();
resourceHandler.setResourceBase("/path/to/static/files");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[]{resourceHandler, new DefaultHandler()});
server.setHandler(handlers);
server.start();
server.join();
}
}
假设您的静态文件位于指定路径下,例如:http://localhost:8080/image.html。启动应用后,在浏览器中访问上述URL即可查看由Jetty提供的静态文件。