- Projektor topic
- Milyen monitort vegyek?
- ASUS notebook topic
- Nem fut az Intel grafikus vezérlőin az év egyik legjobban várt címe
- Milyen videókártyát?
- Melyik tápegységet vegyem?
- Hobby elektronika
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Fejhallgató erősítő és DAC topik
- Épített vízhűtés (nem kompakt) topic
Új hozzászólás Aktív témák
-
estro
csendes tag
Sziasztok, egy kérdésem lenne hogy szerintetek melyik lenne a jobb megoldás.
A probléma hogy a JPA a OneToMany esetén duplikálva adja vissza a child entityket.
Itt egy stackoverflow kérdés róla:
https://stackoverflow.com/questions/1995080/hibernate-criteria-returns-children-multiple-times-with-fetchtype-eagerNekem fontos lenne eager lekérdezés és hogy sorrend tartó legyen az adat.
1. JPA interfacet használok, szóval csak ezért érdemes lenne egy DAO-t létrehozni és hibernateval Criteria-t írni erre az egy lekérdezésre?
2. vagy szűrjem ki a duplikációkat a service layerben?
3. esetleg lehet erre írni valami queryt a JPA @Query annotációval? -
estro
csendes tag
válasz
Aethelstone
#9915
üzenetére
Hát az elég átláthatatlan kód, nem? Egy feltétel vizsgálatnál szerintem legtöbben nem számítanánk állapot változásra. Ha jól emlékszem valamelyik könyvben volt is írva, hogy nem ajánlott használni.
-
estro
csendes tag
Csáó! Spring securityt próbálgatom, de nem boldogulok ezzel a csrf -el.
Beállítom egy filterrel a válasz headerbe a tokent:
CsrfToken token = (CsrfToken) request.getAttribute("_csrf");
if (token != null) {
response.setHeader("X-CSRF-HEADER", token.getHeaderName());
response.setHeader("X-CSRF-PARAM", token.getParameterName());
response.setHeader("X-CSRF-TOKEN", token.getToken());
}
filterChain.doFilter(request, response);Van több HTML oldalam, amit a sevlet például így ad vissza:
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String loginPage() {
System.out.println("login");
return "login";
}jQuery:
jQuery(document).ready(function ($) {
var csrfToken;
$.ajax({
type: 'GET',
url: '/springSecurityApp/login'
}).done(function (data, textStatus, jqXHR) {
csrfToken = jqXHR.getResponseHeader('X-CSRF-TOKEN');
});
});Csak úgy tudom kiolvasni a tokent, ha jQueryvel kérem le az oldalt. Ez azért nem jó mert 2x tölti le a kliens a login.html-t: amikor beírom az URL-t, és ezután a jquery lekéri magának, hogy kiolvassa a response headert.
Erre van valami egyszerűbb módszer? Vagy tudtok valami tutorialt ezzel kapcsolatban? -
estro
csendes tag
válasz
bambano
#7790
üzenetére
Egy kicsit tényleg zavaró, mert az int az integernek a rövidítése, viszont a javaban az Integer-el egy hivatkozó változót hozunk létre, ami egy objektumra mutat (int objektum vagy mi
), az int pedig egy primitív változó. De mondjuk aki Javat tanul az eljut az tömbökhöz, ott meg általában a tutorialokban leírják, hogy az egy objektum ami objektumokat tárol, ahhoz meg tartozik egy autoboxing folyamat, ha primitíveket akarunk tárolni. -
estro
csendes tag
"A változóknak két fajtája van: primitívek és hivatkozások.
A primitív változók olyan értékekkel vannak tele, amelyek a változó tényleges értékét ábrázolják.
Az objektum típusú változó (hivatkozó változó), azonban az objektum elérésének módját tárolják."
Agyhullám: Java könyvben ez szerepel.
Én nem értem, hogy lehet referencia egy primitív, habár még nem vagyok gyakorlott a Javaban :/.
A referencia változó az egy objektumra hivatkozik aminek vagy van beállított példány változói vagy nincs, ha nincs akkor csak egy sima tulajdonság nélküli objektum, viszont a primitív változó az int, float, double stb... és használat előtt bekell állítani valamilyen értékre.
Jelenlegi ismereteim alapján egyetlen közös tulajdonságuk van, hogy biteket ábrázolnak. De ha bonyolult az okkifejtése akkor tényleg hagyjuk
-
estro
csendes tag
válasz
Sk8erPeter
#7132
üzenetére
Az SQL injection tudtam, hogy veszélyes az adatbázisomra, de még nem néztem utána mit lehet ellene tenni, de akkor most már tudom
. A SELECT * tényleg eléggé rontja a teljesítményt most, hogy belegondolok (főleg ha majd joint is használok), majd kijavítom azt is, mert már van vagy 5 mező mivel regisztrációt is csináltam hozzá. Köszi a tippeket! -
estro
csendes tag
Sziasztok!
Akarok csinálni egy bejelentkezést jsp+servletel, de ugyan azt a hibát kapom akármit csinálok.
Servlet doPost:PrintWriter out = response.getWriter();
String username = request.getParameter("user");
String password = request.getParameter("pwd");
UserSQL dao = new UserSQL();
int result = dao.loginUser(username, password);
if (result == 1) {
RequestDispatcher rd = getServletContext().getRequestDispatcher("index.jsp");
out.println("<font color=red>Adatbázis hiba.</font>");
}
if (result == 2) {
RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
// RequestDispatcher rd = getServletContext().getRequestDispatcher("error.jsp");
out.println("<font color=red>Rossz felhasználónév/jelszó.</font>");
}
HttpSession s = request.getSession();
s.setAttribute("username", username);
s.setAttribute("login", true);
response.sendRedirect("success.jsp");A userSQL class aminek át kellene vennie a 2 stringet és vissza adni egy számot, de szerintem nem kapja meg az értékeket:
public int loginUser(String username, String password) {
connect();
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String sql_comm = "select * from root.users where username = ’" + username + "’ and password = ’" + password + "’";
try {
stmt = con.createStatement();
rs = stmt.executeQuery(sql_comm);
if (rs.next() == false) {
return 2;
} else {
return 0;
}
} catch (SQLException e) {
e.printStackTrace();
return 1;
} finally {
if (rs != null) {
try {
rs.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (con != null) {
try {
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}Hibaüzenet:
java.lang.NullPointerException
model.UserSQL.loginUser(UserSQL.java:47)
controller.login.doPost(login.java:53)
javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)Tudna valaki segíteni, ötletet adni mi baja lehet? Van sok megoldás a neten, de én ezzel akarom csinálni és érdekelne mit rontottam el. NullPointerException ez ha jól tudom azt jelenti, hogy null értékű objektummal tér vissza, de javítsatok ki ha tévedek.
Előre is köszi a segítséget.
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- A fociról könnyedén, egy baráti társaságban
- Crimson Desert
- Gitáros topic
- A hagyományos (nem okos-) telefonok jelene és jövője
- Projektor topic
- PlayStation 5
- Milyen monitort vegyek?
- ASUS notebook topic
- Xiaomi 17 Ultra - jó az optikája
- Nem fut az Intel grafikus vezérlőin az év egyik legjobban várt címe
- További aktív témák...
- Beszámítás! Motorola Sound Flow XT2549-1 hangszóró hibátlan működéssel
- Beszámítás! Lenovo Thinkpad P15 Gen 1 FHD notebook - i7 10850H 32GB DDR4 1TB SSD T2000 4GB W11
- Beszámítás! Samsung Galaxy S23 Ultra 256GB okostelefon garanciával hibátlan működéssel
- Samsung Galaxy S23 Plus 5G (8/512 GB) független, garanciás 210 000 Ft
- Beszámítás! Motorola Edge 60 Pro 5G 512GB okostelefon garanciával hibátlan működéssel
- Ducky One 3 FULL/TKL/SF/MINI billentyűzetek többféle színben és kapcsolókkal, plusz csuklótámaszok
- BESZÁMÍTÁS! Intel Core i9 10850K 10 mag 20 szál processzor garanciával hibátlan működéssel
- Samsung QM55B 55" UHD 4K LED Signage Reklámmonitor 27% ÁFÁS
- iPhone 17 256GB - BONTATLAN - (3év)
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



