Witam
Obecny post jest związany z https://4programmers.net/Forum/JavaScript/299762-angularjs_post_przekazanie_danych_z_js_do_java, jednak nie chodzi o to samo, więc pomyślałem, że warto jednak założyć nowy temat zamiast męczyć poprzedni (swoją drogą dziękuję shagrin za pomoc).
Obecny program ciągnie się już bardzo długo, wprost frustrująco długo myślę, że głównie spowodowane jest to tym, że każda rzecz wymaga ode mnie nauczenia się nowej rzeczy, z której nigdy nie korzystałem (cóż.. takie było założenie, mam nadzieję, że poprawne).
Ucząc się nowych rzeczy wziąłem również pod uwagę jakieś podstawy systemu kontroli wersji i założenie repozytorium na Github'ie.
Moje prośby do was są następujące:
- Rzucenie okiem na moje repozytorium (https://github.com/Meliars/Uncomplete.git) i doradzenie mi co powinienem zmienić w istniejącym tam projekcie (nie chodzi mi o ocenę i krytykę), żeby ułatwić sobie dalszą pracę nad nim, której jest jeszcze bardzo dużo.
- Doradzenie mi w jaki sposób sprawnie pracować z GIT'em, żeby w praktyczny sposób nie odrywając się od programu, móc również uczyć się podstaw korzystania z tego systemu kontroli wersji.
- Proszę o pomoc w kwestii przejścia z działania kodu js do kodu Java, to znaczy:
Mam działający skrypt js
ngular.module('app', [])
.config(['$sceDelegateProvider', function($sceDelegateProvider) {
// We must whitelist the JSONP endpoint that we are using to show that we trust it
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://angularjs.org/**'
]);
}])
.controller('ctrl', ['$scope', '$http',
function($scope, $http) {
$scope.method = "POST";
$scope.url = 'User.json';
$scope.name = null;
$scope.surname = null;
$scope.project = null;
$scope.group = null
$scope.fetch = function () {
/*$scope.Name = null;
$scope.Surname = null;
$scope.Project = null;
$scope.Group = null*/
$http({method: $scope.method, url: $scope.url,
data:{name: $scope.name, surname: $scope.surname, project: $scope.project, group: $scope.group},
headers: {'Content-Type': 'application/json'}}).
then(function(response) {
$scope.name = response.name;
$scope.surname = response.surname;
$scope.project = response.project;
$scope.group = response.group;
}, function(err) {
console.error('Damn, something went wrong!!', err);
});
};
$scope.updateModel = function(method, url) {
$scope.method = method;
$scope.url = url;
};
}]);
Chciałbym, żeby po zakończeniu jego działania (czyli wysłania daych z formularza na serwer) z miejsca wykonał się również kod java odbierający dane z serwera, oraz przesyłający je do bazy danych
package com.db.databaseproject;
import com.fasterxml.jackson.annotation.JsonValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.persistence.*;
@RestController
@Controller
@Entity(name = "transcom")
@Table(name = "employees")
public class CharacterInfo {
private int id ;
private String Name;
private String Surname;
private String Project;
private String Group;
private int Score;
public CharacterInfo() {}
@RequestMapping(method = RequestMethod.GET, value = "http://localhost:8080/web/User.json")
public void setName(@RequestParam("name") String Name) {
this.Name = Name;
}
@RequestMapping(method = RequestMethod.GET, value = "http://localhost:8080/web/User.json")
public void setSurname(@RequestParam("surname")String Surname) {
this.Surname = Surname;
}
public void setId(int id) {
this.id = id;
}
@RequestMapping(method = RequestMethod.GET, value = "http://localhost:8080/web/User.json")
public void setProject(@RequestParam("project")String Project) {
this.Project = Project;
}
@RequestMapping(method = RequestMethod.GET, value = "http://localhost:8080/web/User.json")
public void setGroup(@RequestParam("group")String Group) {
this.Group = Group; }
@RequestMapping(method = RequestMethod.GET, value = "http://localhost:8080/web/User.json")
public void setScore(@RequestParam("score")int Score) {
this.Score = Score;
}
@Column(name = "employeer_Name")
public String getName() {
return Name;
}
@Id
//@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_employeer")
public int getId() { return id; }
@Column(name = "employeer_Surname")
public String getSurname() { return Surname; }
@Column(name = "employeer_Project")
public String getProject() {
return Project;
}
@Column(name = "employeer_Group")
public String getGroup() {
return Group;
}
@Column(name = "employeer_Score")
public int getScore() {
return Score;
}
}
- klasa, którą testowałem czy połączenie z Bazą Danych działa poprawnie
package com.db.databaseproject;
public class main {
public static void main(String args[]) throws Exception {
DBConnector dbConnector = new DBConnector();
CharacterInfo characterInfo = new CharacterInfo();
characterInfo.setName(characterInfo.getName());
characterInfo.setSurname(characterInfo.getSurname());
characterInfo.setProject(characterInfo.getProject());
characterInfo.setGroup(characterInfo.getProject());
characterInfo.setScore(100);
dbConnector.setUp();
dbConnector.saving(characterInfo);
// hibernateUtility.reading();
}
}
Klasa main z oczywistych powodów działa dopiero gdy uruchomię ją osobno w IDE i wprowadzę do niej dane, wówczas wysyła je do Bazy Danych. Jest to klasa raczej testowa jak już wcześniej wspomniałem. Moim celem jest takie działanie, żeby po uruchomieniu programu Tomcatem, po wpisaniu danych w formularzu HTTP, program przesłał je na serwer, skąd odebrał za pośrednictwem kodu java i wysłał je do bazy danych MySql. Proszę o pomoc jak tego dokonać.
Zdaję sobie sprawę, że cały program może być nieschludny, bądź po prostu jednym wielkim miszmaszem z punktu widzenia doświadczonego programisty, stworzenie tego programu miało na celu poszerzenie moich horyzontów, nauczenie mnie czegoś nowego w praktyczny sposób, pomóc w nabyciu nowych umiejętności.