Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Как реализовать простой веб сервер  [new]
roma126
Member

Откуда:
Сообщений: 161
В поставленной задаче требуется реализовать открытие браузером страницы /page/index.html в методе run() в public class MyWebServer implements Runnable {}.
Подскажите, пожалуйста, как это реализовать. Заранее спасибо!

public class MySimpleWebServer {
private Thread serverThread;
private MyWebServer ws;

public JavaSimpleWebServer() {
serverThread = null;
wserv = new MyWebServer();
}

public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));) {
String inputLine;
JavaSimpleWebServer server = new JavaSimpleWebServer();
while (!(inputLine = br.readLine()).trim().equalsIgnoreCase("exit")) {
switch (inputLine.trim().toLowerCase()) {
case "start": server.startServer();
break;
case "stop": server.stopServer();
break;
default: server.printHelp();
break;
}
}

server.stopServer();
System.out.println("До свидания!");

} catch (IOException ex) {

System.err.println(ex.getMessage());

}

}


public void startServer() {
if (serverThread!= null && serverThread.isAlive()) {
System.out.println("ok");
}
else {
serverThread = new Thread(wserv, "MyServer");
serverThread.start();
System.out.println("http://localhost:8080/");
}

}


public void stopServer () {
if (serverThread!= null && serverThread.isAlive()) {
if (serverThread != null && !serverThread.isInterrupted()) serverThread.interrupt();
System.out.println("server stop");
}
else {
System.out.println("stoped");
}

}
7 фев 19, 10:40    [21803284]     Ответить | Цитировать Сообщить модератору
 Re: Как реализовать простой веб сервер  [new]
roma126
Member

Откуда:
Сообщений: 161
Добавил реализацию Socket, все получилось.
7 фев 19, 11:20    [21803336]     Ответить | Цитировать Сообщить модератору
 Re: Как реализовать простой веб сервер  [new]
Dmitry.
Member

Откуда: Львів
Сообщений: 823
театр одного актера... ;)
7 фев 19, 11:50    [21803368]     Ответить | Цитировать Сообщить модератору
 Re: Как реализовать простой веб сервер  [new]
roma126
Member

Откуда:
Сообщений: 161
В продолжении темы :) Подключение получилось, сервер запустился, только вот его подключение теперь нужно остановить, путем ввода в консоль команды stop. Помогите, пожалуйста.

public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in));) {
String inputLine;
JavaSimpleWebServer server = new JavaSimpleWebServer();
System.out.println("Welcome");
while (!(inputLine = br.readLine()).trim().equalsIgnoreCase("exit")) {
switch (inputLine.trim().toLowerCase()) {
case "start":
server.startServer();
break;
case "stop":
server.stopServer();
break;
default:
server.printHelp();
break;
}
}
server.stopServer();
System.out.println("googluck!");

} catch (IOException ex) {
System.err.println(ex.getMessage());
}

}

public void startServer() {
if (serverThread!= null && serverThread.isAlive()) {
System.out.println("Server is running");
}
else {
System.out.println("Server starts - http://localhost:8080" + "/");
ws.getConnection();
}

}

public WebServer getConnection() {
WebServer myServer = null;
Thread simpleThread;
try {
ServerSocket serverConnect = new ServerSocket(this.getPortNum());
System.out.println("Listening for connections on port : " + this.getPortNum() + " ...\n");

while (true) {
myServer = new WebServer(serverConnect.accept());
if (verbose) {
System.out.println("Connecton opened. (" + new Date() + ")");
}
simpleThread = new Thread(myServer);
simpleThread.start();
}
}
catch(IOException e){
System.err.println("Server Connection error : " + e.getMessage());
}

return myServer;
}
11 фев 19, 16:59    [21806661]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить