У меня есть проект Java-сервера Maven со следующей структурой:
![enter image description here](https://i.stack.imgur.com/8lFm5.png)
HTTPS код сервера:
public class HTTPSServer {
public static void main(String[] args) throws Exception {
System.out.println(Inet4Address.getLocalHost().getHostAddress());
HttpsServer server = HttpsServer.create(new InetSocketAddress(8080), 1);
server.createContext("/", new IndexHandler());
char[] storepass = "mystorepass".toCharArray();
char[] keypass = "mykeypass".toCharArray();
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(HTTPSServer.class.getClassLoader().getResourceAsStream("vision.jks"), storepass);
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, keypass);
SSLContext sslContext = SSLContext.getInstance("TLS");
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(ks);
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
server.setHttpsConfigurator(new HttpsConfigurator(sslContext) {
@Override
public void configure (HttpsParameters params) {
try
{
// initialise the SSL context
SSLContext c = getSSLContext();
SSLEngine engine = c.createSSLEngine();
params.setNeedClientAuth(false);
params.setCipherSuites(engine.getEnabledCipherSuites());
params.setProtocols(engine.getEnabledProtocols());
// get the default parameters
SSLParameters defaultSSLParameters = c.getDefaultSSLParameters();
params.setSSLParameters(defaultSSLParameters);
}
catch ( Exception ex ) {
System.out.println(ex.getMessage());
}
}
});
ExecutorService executor = Executors.newFixedThreadPool(1);
server.setExecutor(executor); // creates a default executor
server.start();
executor.awaitTermination(Integer.MAX_VALUE, TimeUnit.DAYS);
}
static class IndexHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
URL res = getClass().getClassLoader().getResource("index.html");
try {
File file = Paths.get(res.toURI()).toFile();
t.sendResponseHeaders(200, file.length());
try (OutputStream os = t.getResponseBody()) {
Files.copy(file.toPath(), os);
}
} catch (URISyntaxException e) {
System.out.println("index.html not found");
}
}
}
Выдержка index.html:
<a href="//10.155.26.68:8080/vision.jnlp" class="VisionStart" download="">Run Vision!</a>
Когда я запускаю сервер, я загружаю index.html, но файл main.css в папке css не подключен. В index.html также есть кнопка для скачивания файла с сервера. Подскажите, как при таком подходе вы можете подключить внешний файл CSS и загрузить файл с сервера. Я знаю, что для этого нужно создать отдельные обработчики, но, увы, я только начал знакомиться с веб-разработкой.