Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by yana on 09.05.2018.
- */
- import com.mysql.fabric.jdbc.FabricMySQLDriver;
- import freemarker.template.Configuration;
- import freemarker.template.Template;
- import freemarker.template.TemplateExceptionHandler;
- import io.undertow.Undertow;
- import io.undertow.server.HttpHandler;
- import io.undertow.server.HttpServerExchange;
- import io.undertow.server.handlers.PathHandler;
- import io.undertow.server.handlers.form.EagerFormParsingHandler;
- import io.undertow.server.handlers.form.FormData;
- import io.undertow.server.handlers.form.FormDataParser;
- import io.undertow.server.handlers.resource.ClassPathResourceManager;
- import io.undertow.server.handlers.resource.ResourceHandler;
- import io.undertow.util.Headers;
- import java.io.IOException;
- import java.io.StringWriter;
- import java.sql.*;
- import java.sql.Date;
- import java.text.Normalizer;
- import java.time.ZoneId;
- import java.util.*;
- public class Server {
- private final static String URL = "jdbc:mysql://localhost:3306/treibhaus";
- private final static String USERNAME = "root";
- private final static String PASSWORD = "myimmortal";
- private final static ArrayDeque<String> emptyDeque = new ArrayDeque<>();
- public static void main(final String[] args) throws IOException {
- Parts parts = new Parts();
- Configuration cfg = new Configuration(Configuration.VERSION_2_3_23);
- cfg.setClassLoaderForTemplateLoading(Server.class.getClassLoader(),"templates");
- cfg.setDefaultEncoding("UTF-8");
- cfg.setTemplateExceptionHandler(TemplateExceptionHandler.HTML_DEBUG_HANDLER);
- final Template nameTemplate = cfg.getTemplate("name.html");
- Undertow server = Undertow.builder()
- .addHttpListener(8888, "localhost")
- .setHandler(new PathHandler()
- .addExactPath("form", new EagerFormParsingHandler().setNext(new HttpHandler() {
- public void handleRequest(final HttpServerExchange exchange) throws Exception {
- FormData form = exchange.getAttachment(FormDataParser.FORM_DATA);//ассоц массив
- //form - Map
- Iterator<String> iterator = form.iterator();
- while (iterator.hasNext()){
- String next = iterator.next();
- Deque<FormData.FormValue> formValues = form.get(next);//очередь
- System.out.println("Field name: " + next);
- FormData.FormValue fv = formValues.getFirst();
- parts.addKey(next,fv);
- }
- try {
- Driver driver = new FabricMySQLDriver();
- DriverManager.registerDriver(driver);
- }
- catch (SQLException e){
- System.out.println("Driver class was not loaded");
- }
- try(Connection connection = DriverManager.getConnection(URL,USERNAME,PASSWORD);) {
- PreparedStatement preparedStatement = connection.prepareStatement("insert into Users(username, password ," +
- " name, lastname, email, birthdate, isAdmin, banned) values(?,?,?,?,?,?,?,?)");
- preparedStatement.setString(1, parts.getLogin() );
- preparedStatement.setString(2,parts.getPsw());
- preparedStatement.setString(3, parts.getName());
- preparedStatement.setString(4, parts.getSurname());
- preparedStatement.setString(5, parts.getEmail());
- Date date = new Date(parts.getBirthDate().getTime());
- preparedStatement.setDate(6, date );
- preparedStatement.setInt(7,0 );
- preparedStatement.setInt(8,0 );
- }
- catch (SQLException e){
- System.out.println("Connection failed");
- }
- exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/html");
- HashMap<String, Object> templateData = new HashMap<String, Object>();
- templateData.put("name", parts.getName());
- StringWriter stringWriter = new StringWriter();
- nameTemplate.process(templateData, stringWriter);
- exchange.getResponseSender().send(stringWriter.toString());
- }
- }))
- .addPrefixPath("/", new ResourceHandler(
- new ClassPathResourceManager(Server.class.getClassLoader(), "html")) {
- }
- )
- ).build();
- server.start();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement