- Poco X6 Pro - ötös alá
- Véroxigénszintet is mér a Honor Band 5
- Vodafone-ra áttért Digi Mobilosok
- Google szolgáltatás (GMS) Huawei telefonokra
- Alcor e-Pad - van még remény
- Ennyibe kerülnek a Huawei Pura modellek Európában
- Telekom mobilszolgáltatások
- Samsung Galaxy S24 - nos, Exynos
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
Free Play Days 2024 - 18. hét: Headbangers: Rythm Royale
gp Extraként a Star Wars Jedi: Survort is kipróbálhatjuk 5 óra erejéig.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
A franciáknak elege van abból, hogy minden gyerek mobilozik
it Vissza akarják szorítani a gyerekek és tinédzserek közösségi média- és okostelefon-használatát.
Új hozzászólás Aktív témák
-
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 ]
-
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
"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 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
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 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
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 ]
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- btz: Internet fejlesztés országosan!
- PlayStation 5
- Star Trek Online -=MMORPG=-
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- alza 404 akciók
- Milyen egeret válasszak?
- Alapértelmezett konfiguráción sok Core CPU-nak lehet stabilitási gondja
- Házimozi belépő szinten
- Spyra: akkus, nagynyomású, automata vízipuska
- nVidia tulajok OFF topikja
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen