Junior
Kādi metodes ir paredzētas darbam ar sīkdatnēm servletos?
sobes.tech AI
Atbilde no AI
Servletos izmanto HttpServletRequest objektu metodes (sīkdatņu saņemšanai) un HttpServletResponse (sīkdatņu sūtīšanai).
Saņemšana sīkdatnes no pieprasījuma:
Cookie[] getCookies(): AtgriežCookieobjektu masīvu, kas iegūts pieprasījumā. Ja sīkdatne nav, atgriežnull.
Sīkdatnes sūtīšana atbildē:
void addCookie(Cookie cookie): Pievieno norādītoCookieobjektu atbildei.
Cookie klase satur šādas galvenās metodes:
String getName(): Atgriež sīkdatnes nosaukumu.String getValue(): Atgriež sīkdatnes vērtību.void setValue(String newValue): Iestata jaunu vērtību.String getPath(): Atgriež ceļu, kurā ir pieejama sīkdatne.void setPath(String uri): Iestata ceļu sīkdatnei.String getDomain(): Atgriež domēnu, kurā ir derīga sīkdatne.void setDomain(String pattern): Iestata domēnu sīkdatnei.int getMaxAge(): Atgriež maksimālo dzīves laiku (sekundēs) sīkdatnei. Negatīva vērtība nozīmē, ka sīkdatne pastāv līdz pārlūkprogrammas aizvēršanai. 0 nozīmē dzēst sīkdatni.void setMaxAge(int expiry): Iestata maksimālo dzīves laiku.boolean getSecure(): Atgriežtrue, ja sīkdatne jānosūta tikai drošā (HTTPS) savienojumā.void setSecure(boolean flag): Iestata drošības marķieri.int getVersion(): Atgriež sīkdatnes protokola versiju.void setVersion(int v): Iestata versiju.boolean isHttpOnly(): Atgriežtrue, ja sīkdatne ir pieejama tikai caur HTTP pieprasījumiem (ne caur JavaScript).void setHttpOnly(boolean isHttpOnly): Iestata HttpOnly marķieri.
Piemērs sīkdatnes saņemšanai un iestatīšanai:
// Saņem sīkdatni no pieprasījuma
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("userName".equals(cookie.getName())) {
String userName = cookie.getValue();
// Izmantojiet vērtību
break;
}
}
}
// Iestata jaunu sīkdatni atbildē
Cookie newCookie = new Cookie("language", "en");
newCookie.setMaxAge(60 * 60 * 24 * 30); // 30 dienas
response.addCookie(newCookie);