2019-10-03 08:42:09 +02:00
|
|
|
package com.wasteinformationserver.website;
|
2019-09-20 16:46:13 +02:00
|
|
|
|
2019-09-13 15:41:40 +02:00
|
|
|
import com.sun.net.httpserver.HttpServer;
|
2019-10-03 08:42:09 +02:00
|
|
|
import com.wasteinformationserver.basicutils.Log;
|
2019-12-06 12:24:44 +01:00
|
|
|
import com.wasteinformationserver.website.datarequests.AdminRequests;
|
|
|
|
import com.wasteinformationserver.website.datarequests.NewDateRequest;
|
2019-11-15 11:23:51 +01:00
|
|
|
import com.wasteinformationserver.website.datarequests.login.CheckLoginState;
|
2019-11-08 10:42:22 +01:00
|
|
|
import com.wasteinformationserver.website.datarequests.DataRequest;
|
2019-11-15 11:23:51 +01:00
|
|
|
import com.wasteinformationserver.website.datarequests.login.LoginRequest;
|
2019-11-08 10:42:22 +01:00
|
|
|
import com.wasteinformationserver.website.datarequests.RegisterRequest;
|
2019-09-13 15:41:40 +02:00
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.net.InetSocketAddress;
|
2019-10-02 21:42:04 +02:00
|
|
|
|
2019-09-13 15:41:40 +02:00
|
|
|
|
2019-09-27 10:58:13 +02:00
|
|
|
public class Webserver {
|
|
|
|
public void startserver() {
|
2019-12-01 10:58:43 +01:00
|
|
|
Log.info("starting Webserver");
|
2019-09-13 15:41:40 +02:00
|
|
|
HttpServer server = null;
|
|
|
|
try {
|
|
|
|
server = HttpServer.create(new InetSocketAddress(8000), 0);
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
|
2019-12-08 19:20:48 +01:00
|
|
|
|
2019-09-20 16:46:13 +02:00
|
|
|
server.createContext("/", new MainPage());
|
2019-11-15 11:23:51 +01:00
|
|
|
|
2019-09-27 10:58:13 +02:00
|
|
|
server.createContext("/senddata/loginget", new LoginRequest());
|
2019-12-08 19:20:48 +01:00
|
|
|
server.createContext("/senddata/registerpost", new RegisterRequest());
|
|
|
|
server.createContext("/senddata/checkloginstate", new CheckLoginState());
|
|
|
|
server.createContext("/senddata/wastedata", new DataRequest());
|
2019-12-06 12:24:44 +01:00
|
|
|
server.createContext("/senddata/admindata", new AdminRequests());
|
|
|
|
server.createContext("/senddata/newdate", new NewDateRequest());
|
2019-09-13 15:41:40 +02:00
|
|
|
|
|
|
|
server.setExecutor(null); // creates a default executor
|
|
|
|
server.start();
|
2019-10-02 21:42:04 +02:00
|
|
|
Log.info("Server available at http://127.0.0.1:8000 now");
|
|
|
|
|
2019-12-08 19:20:48 +01:00
|
|
|
/*
|
|
|
|
|
|
|
|
try {
|
|
|
|
server = HttpsServer.create(new InetSocketAddress(8000), 0);
|
|
|
|
|
|
|
|
// initialise the HTTPS server
|
|
|
|
SSLContext sslContext = SSLContext.getInstance("TLS");
|
|
|
|
|
|
|
|
// initialise the keystore
|
|
|
|
char[] password = "password".toCharArray();
|
|
|
|
KeyStore ks = KeyStore.getInstance("JKS");
|
|
|
|
FileInputStream fis = new FileInputStream("testkey.jks");
|
|
|
|
ks.load(fis, password);
|
|
|
|
|
|
|
|
// setup the key manager factory
|
|
|
|
KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
|
|
|
|
kmf.init(ks, password);
|
|
|
|
|
|
|
|
// setup the trust manager factory
|
|
|
|
TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
|
|
|
|
tmf.init(ks);
|
|
|
|
|
|
|
|
// setup the HTTPS context and parameters
|
|
|
|
sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
|
|
|
|
server.setHttpsConfigurator(new HttpsConfigurator(sslContext) {
|
|
|
|
public void configure(HttpsParameters params) {
|
|
|
|
try {
|
|
|
|
// initialise the SSL context
|
|
|
|
SSLContext context = getSSLContext();
|
|
|
|
SSLEngine engine = context.createSSLEngine();
|
|
|
|
params.setNeedClientAuth(false);
|
|
|
|
params.setCipherSuites(engine.getEnabledCipherSuites());
|
|
|
|
params.setProtocols(engine.getEnabledProtocols());
|
|
|
|
|
|
|
|
// Set the SSL parameters
|
|
|
|
SSLParameters sslParameters = context.getSupportedSSLParameters();
|
|
|
|
params.setSSLParameters(sslParameters);
|
|
|
|
|
|
|
|
} catch (Exception ex) {
|
|
|
|
System.out.println("Failed to create HTTPS port");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} catch (IOException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (CertificateException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (NoSuchAlgorithmException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (UnrecoverableKeyException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (KeyStoreException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
} catch (KeyManagementException e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
2019-09-13 15:41:40 +02:00
|
|
|
}
|
|
|
|
}
|