Started register, added jQuery, ...
This commit is contained in:
parent
127a37b097
commit
ef70448ca6
12 changed files with 10215 additions and 11 deletions
7
.buildpath
Normal file
7
.buildpath
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<buildpath>
|
||||||
|
<buildpathentry kind="src" path="src"/>
|
||||||
|
<buildpathentry kind="con" path="org.eclipse.dltk.mod.launching.INTERPRETER_CONTAINER"/>
|
||||||
|
<buildpathentry kind="con" path="org.eclipse.vjet.eclipse.core.JSNATIVE_CONTAINER/JS Native Types"/>
|
||||||
|
<buildpathentry kind="con" path="org.eclipse.vjet.eclipse.core.BROWSER_CONTAINER/Browser SDK"/>
|
||||||
|
</buildpath>
|
6
.project
6
.project
|
@ -5,6 +5,11 @@
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.vjet.eclipse.core.builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
@ -17,6 +22,7 @@
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
|
<nature>org.eclipse.vjet.core.nature</nature>
|
||||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
</natures>
|
</natures>
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
<head>
|
||||||
|
<title>ChatServer</title>
|
||||||
|
<script src="js/jquery-3.1.0.js"></script>
|
||||||
|
<script src="js/message.js"></script>
|
||||||
|
</head>
|
||||||
<html>
|
<html>
|
||||||
<h1>Index</h1>
|
<h1>Index</h1>
|
||||||
<p>Hello</p>
|
<p>Hello</p>
|
||||||
|
<input id="msginput" value="" />
|
||||||
</html>
|
</html>
|
||||||
|
|
10074
pages/js/jquery-3.1.0.js
vendored
Normal file
10074
pages/js/jquery-3.1.0.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
4
pages/js/message.js
Normal file
4
pages/js/message.js
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
$(document).on("keypress", function(e) {
|
||||||
|
if (e.which == '\r'.charCodeAt(0))
|
||||||
|
document.write(document.getElementById("msginput").value);
|
||||||
|
});
|
|
@ -2,6 +2,7 @@ package io.github.norbipeti.chat.server;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -33,18 +34,35 @@ public class IOHelper {
|
||||||
exchange);
|
exchange);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
return ReadFile(file);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String ReadFile(File file) throws FileNotFoundException, IOException {
|
||||||
FileInputStream inputStream = new FileInputStream(file);
|
FileInputStream inputStream = new FileInputStream(file);
|
||||||
String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
|
String content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
|
||||||
return content;
|
return content;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String GetPOST(HttpExchange exchange) throws IOException {
|
public static HashMap<String, String> GetPOST(HttpExchange exchange) throws IOException {
|
||||||
|
System.out.println(exchange.getRequestBody().available());
|
||||||
|
if (exchange.getRequestBody().available() == 0)
|
||||||
|
return new HashMap<>();
|
||||||
String[] content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1).split("\\&");
|
String[] content = IOUtils.toString(exchange.getRequestBody(), StandardCharsets.ISO_8859_1).split("\\&");
|
||||||
|
System.out.println(content);
|
||||||
HashMap<String, String> vars = new HashMap<>();
|
HashMap<String, String> vars = new HashMap<>();
|
||||||
for (String var : content) {
|
for (String var : content) {
|
||||||
String[] spl = var.split("\\=");
|
String[] spl = var.split("\\=");
|
||||||
vars.put(spl[0], spl[1]);
|
vars.put(spl[0], spl[1]);
|
||||||
}
|
}
|
||||||
return null;
|
return vars;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean SendModifiedPage(int code, Page page, String replace, String with, HttpExchange exchange)
|
||||||
|
throws IOException {
|
||||||
|
String content = GetPage(page, exchange);
|
||||||
|
if (content == null)
|
||||||
|
return false;
|
||||||
|
SendResponse(200, content.replace(replace, with), exchange);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,13 +27,16 @@ public class Main {
|
||||||
System.out.println("Loading database...");
|
System.out.println("Loading database...");
|
||||||
try (DataProvider provider = new DataProvider()) {
|
try (DataProvider provider = new DataProvider()) {
|
||||||
User user = new User();
|
User user = new User();
|
||||||
|
user.setName("asd");
|
||||||
provider.addUser(user);
|
provider.addUser(user);
|
||||||
User user2 = new User();
|
User user2 = new User();
|
||||||
user2.setName("Teszt");
|
user2.setName("Teszt");
|
||||||
user2.getContacts().add(user);
|
user2.getContacts().add(user);
|
||||||
|
user.getContacts().add(user2);
|
||||||
provider.addUser(user2);
|
provider.addUser(user2);
|
||||||
System.out.println(provider.getUsers());
|
System.out.println(provider.getUsers());
|
||||||
System.out.println("Contact: " + user2.getContacts().get(0));
|
System.out.println("1st's contact: " + user.getContacts().get(0));
|
||||||
|
System.out.println("2nd's contact: " + user2.getContacts().get(0));
|
||||||
}
|
}
|
||||||
System.out.println("Starting webserver...");
|
System.out.println("Starting webserver...");
|
||||||
HttpServer server = HttpServer.create(new InetSocketAddress(InetAddress.getLocalHost(), 8080), 10);
|
HttpServer server = HttpServer.create(new InetSocketAddress(InetAddress.getLocalHost(), 8080), 10);
|
||||||
|
|
|
@ -42,8 +42,11 @@ public class User {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "User [id=" + id + ", name=" + name + ", email=" + email + ", password=" + password + ", contacts="
|
List<String> c = new ArrayList<>();
|
||||||
+ contacts + "]";
|
for (User u : contacts)
|
||||||
|
c.add(u.name);
|
||||||
|
return "User [id=" + id + ", name=" + name + ", email=" + email + ", password=" + password + ", contacts=" + c
|
||||||
|
+ "]";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setEmail(String email) {
|
public void setEmail(String email) {
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
package io.github.norbipeti.chat.server.page;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
|
||||||
|
public class MessageAjaxPage extends Page {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String GetName() {
|
||||||
|
return "message";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handlePage(HttpExchange exchange) throws IOException {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -22,11 +22,15 @@ public abstract class Page implements HttpHandler {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handle(HttpExchange exchange) throws IOException {
|
public void handle(HttpExchange exchange) throws IOException {
|
||||||
|
try {
|
||||||
if (!getDo404() || exchange.getRequestURI().getPath().equals("/" + GetName()))
|
if (!getDo404() || exchange.getRequestURI().getPath().equals("/" + GetName()))
|
||||||
handlePage(exchange);
|
handlePage(exchange);
|
||||||
else {
|
else {
|
||||||
IOHelper.SendPage(404, NotFoundPage.Instance, exchange);
|
IOHelper.SendPage(404, NotFoundPage.Instance, exchange);
|
||||||
}
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract void handlePage(HttpExchange exchange) throws IOException;
|
public abstract void handlePage(HttpExchange exchange) throws IOException;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package io.github.norbipeti.chat.server.page;
|
package io.github.norbipeti.chat.server.page;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
import com.sun.net.httpserver.HttpExchange;
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
|
||||||
import io.github.norbipeti.chat.server.IOHelper;
|
import io.github.norbipeti.chat.server.IOHelper;
|
||||||
|
@ -8,11 +9,35 @@ import io.github.norbipeti.chat.server.IOHelper;
|
||||||
public class RegisterPage extends Page {
|
public class RegisterPage extends Page {
|
||||||
@Override
|
@Override
|
||||||
public void handlePage(HttpExchange exchange) throws IOException {
|
public void handlePage(HttpExchange exchange) throws IOException {
|
||||||
/*for(String line : IOHelper.GetPOST(exchange))
|
HashMap<String, String> post = IOHelper.GetPOST(exchange);
|
||||||
System.out.println(line);*/
|
System.out.println("POST: " + post);
|
||||||
|
if (post.size() > 0) {
|
||||||
|
String errormsg = CheckValues(post, "name", "email", "pass", "pass2");
|
||||||
|
System.out.println(errormsg);
|
||||||
|
if (errormsg.length() == 0) {
|
||||||
|
// Process register
|
||||||
|
String successmsg = "";
|
||||||
|
IOHelper.SendModifiedPage(200, this, "<successmsg />", successmsg, exchange);
|
||||||
|
return;
|
||||||
|
} else
|
||||||
|
IOHelper.SendModifiedPage(200, this, "<errormsg />", errormsg, exchange);
|
||||||
|
return;
|
||||||
|
}
|
||||||
IOHelper.SendPage(200, this, exchange);
|
IOHelper.SendPage(200, this, exchange);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String CheckValues(HashMap<String, String> post, String... values) {
|
||||||
|
String errormsg = "";
|
||||||
|
for (String value : values)
|
||||||
|
if (!CheckValue(post.get(value)))
|
||||||
|
errormsg += "<p>" + value + " can't be empty</p>";
|
||||||
|
return errormsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean CheckValue(String val) {
|
||||||
|
return val != null && val.length() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String GetName() {
|
public String GetName() {
|
||||||
return "register";
|
return "register";
|
||||||
|
|
34
src/io/github/norbipeti/chat/server/page/ScriptsPage.java
Normal file
34
src/io/github/norbipeti/chat/server/page/ScriptsPage.java
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package io.github.norbipeti.chat.server.page;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import com.sun.net.httpserver.HttpExchange;
|
||||||
|
|
||||||
|
import io.github.norbipeti.chat.server.IOHelper;
|
||||||
|
|
||||||
|
public class ScriptsPage extends Page {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean getDo404() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String GetName() {
|
||||||
|
return "js/";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handlePage(HttpExchange exchange) throws IOException {
|
||||||
|
if (exchange.getRequestURI().getPath().startsWith("/js/")) {
|
||||||
|
File jsfile = new File("pages", exchange.getRequestURI().getPath());
|
||||||
|
if (!jsfile.exists())
|
||||||
|
IOHelper.SendResponse(404, "<h1>JavaScript file not found</h1>", exchange);
|
||||||
|
else
|
||||||
|
IOHelper.SendResponse(200, IOHelper.ReadFile(jsfile), exchange);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
System.out.println(exchange.getRequestURI().getPath());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue