Hirdetés
- Lassan állítjuk a fát, és a hardverek is be vannak csomagolva
- Klasszikus kínai festmények ihlették a Colorful legfrissebb memóriáinak külsejét
- Ultrakompakt Key E SSD-vel jelentkezett a Silicon Power
- Mesterséges intelligenciára kihegyezett mini PC jött az ASUS műhelyéből
- ASUS blog: ExpertBook P5 notebook, a munkagép
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen notebookot vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen nyomtatót vegyek?
- ThinkPad (NEM IdeaPad)
- AMD GPU-k jövője - amit tudni vélünk
- Milyen TV-t vegyek?
- Logitech Z906
- Milyen billentyűzetet vegyek?
- Intel Core i3 / i5 / i7 4xxx "Haswell" és "Haswell Refresh / Devil's Canyon" (LGA1150)
Ú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?[ Szerkesztve ]
-
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.
[ Szerkesztve ]
-
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.[ Szerkesztve ]
Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- AKCIÓ!!! GAMER PC: RYZEN 9 5900X + RTX 3060 12GB GDDR6! GARANCIA/SZÁMLA!!!
- BONTATLAN Új Iphone 16 PRO 128Gb - 1TB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- BONTATLAN Új iPhone 16 PRO MAX 256-512GGB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Tamron SP 70-200mm f/2.8 Di VC USD G2 objektív ( Nikon )
- Azta! Yoga Slim 7 Prémium Ultrabook 14,5" -40% AMD Ryzen 5 7640S 16/512 RADEON 760M 2GB 2,9K OLED
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest