|
Как реализовать простой веб сервер
|
|||
---|---|---|---|
#18+
В поставленной задаче требуется реализовать открытие браузером страницы /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"); } } ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2019, 10:40 |
|
Как реализовать простой веб сервер
|
|||
---|---|---|---|
#18+
Добавил реализацию Socket, все получилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2019, 11:20 |
|
Как реализовать простой веб сервер
|
|||
---|---|---|---|
#18+
театр одного актера... ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2019, 11:50 |
|
Как реализовать простой веб сервер
|
|||
---|---|---|---|
#18+
В продолжении темы :) Подключение получилось, сервер запустился, только вот его подключение теперь нужно остановить, путем ввода в консоль команды 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.02.2019, 16:59 |
|
|
start [/forum/topic.php?fid=59&msg=39770571&tid=2121488]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 125ms |
0 / 0 |