- Xiaomi 14T Pro - teljes a család?
- Samsung Galaxy S23 Ultra - non plus ultra
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Szerényebb panelt kap a OnePlus 15
- Samsung Galaxy Watch7 - kötelező kör
- Filléres telefonok érkeztek a ZTE-től
- Magisk
- Apple iPhone 17 Pro Max – fennsík
- Azonnali mobilos kérdések órája
- Xiaomi Mi 11 Ultra - Circus Maximus
Ú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
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Dell Precision 7740 Workstation 17,3", i9-9980HQ, 32GB, RTX3000 6GB
- Gamer PC - i5 14600k, RTX 3080 és 32gb RAM + GARANCIA
- HALLOWEENI KÉSZLET - RETRO Számítástechnika -- MINDEN RETRO EGY HELYEN -- RETRO Számítógépek
- Samsung S21 Plus 6 hónapos Akkucsere!
- Gamer PC - i7 10700K, RTX 3060ti és 16gb RAM + GARANCIA
- GeForce RTX 2060 (OEM HP) Garanciával
- Xiaomi 11T 128GB, Kártyafüggetlen, 1 Év Garanciával
- Gyári garanciával Digitalizáló tábla XP-PEN Artist Pro 24
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 8GB I 128GB SSD I 14" FHD I Cam I W10 I Garancia!
- AKCIÓ! Lenovo ThinkPad X13 Gen 5 üzleti notebook - Ultra 5 135U 16GB DDR5 512GB SSD Intel Win11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest