Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_dzienna_15_09
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
java_dzienna_15_09
Commits
be0ff69c
Commit
be0ff69c
authored
Sep 29, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Koszyk z listenerem
parent
9e324c2c
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
7 deletions
+31
-7
PhotoUtil.java
PC26-SklepWeb/src/main/java/sklep/photo/PhotoUtil.java
+1
-1
AddToBasket.java
PC26-SklepWeb/src/main/java/sklep/web/AddToBasket.java
+1
-6
BasketListener.java
PC26-SklepWeb/src/main/java/sklep/web/BasketListener.java
+29
-0
No files found.
PC26-SklepWeb/src/main/java/sklep/photo/PhotoUtil.java
View file @
be0ff69c
...
@@ -29,7 +29,7 @@ public class PhotoUtil {
...
@@ -29,7 +29,7 @@ public class PhotoUtil {
try
{
try
{
return
Files
.
readAllBytes
(
path
);
return
Files
.
readAllBytes
(
path
);
}
catch
(
IOException
e
)
{
}
catch
(
IOException
e
)
{
System
.
err
.
println
(
e
);
//
System.err.println(e);
throw
new
RecordNotFound
(
"Cannot read photo for product id = "
+
productId
);
throw
new
RecordNotFound
(
"Cannot read photo for product id = "
+
productId
);
}
}
}
}
...
...
PC26-SklepWeb/src/main/java/sklep/web/AddToBasket.java
View file @
be0ff69c
...
@@ -31,16 +31,11 @@ public class AddToBasket extends HttpServlet {
...
@@ -31,16 +31,11 @@ public class AddToBasket extends HttpServlet {
// ServletContext servletContext = this.getServletContext();
// ServletContext servletContext = this.getServletContext();
// Sesja jest skojarzona z konkretnym klientem, działa to dzięki ciasteczkom.
// Sesja jest skojarzona z konkretnym klientem, działa to dzięki ciasteczkom.
// Dzięki obecności Listenera mogę założyć, że koszyk jest obecny w sesji.
HttpSession
session
=
request
.
getSession
();
HttpSession
session
=
request
.
getSession
();
Basket
basket
=
(
Basket
)
session
.
getAttribute
(
"basket"
);
Basket
basket
=
(
Basket
)
session
.
getAttribute
(
"basket"
);
if
(
basket
==
null
)
{
basket
=
new
Basket
();
session
.
setAttribute
(
"basket"
,
basket
);
}
basket
.
addProduct
(
product
);
basket
.
addProduct
(
product
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
// ignorujemy błędy
// ignorujemy błędy
}
}
...
...
PC26-SklepWeb/src/main/java/sklep/web/BasketListener.java
0 → 100644
View file @
be0ff69c
package
sklep
.
web
;
import
javax.servlet.annotation.WebListener
;
import
javax.servlet.http.HttpSession
;
import
javax.servlet.http.HttpSessionEvent
;
import
javax.servlet.http.HttpSessionListener
;
import
sklep.basket.Basket
;
@WebListener
public
class
BasketListener
implements
HttpSessionListener
{
/* Listener to jest klasa, w której możemy podać własne kody, które serwer wykona w odpowiednim momencie działania aplikacji.
* Tutaj obsługujemy zdarzenia utworzenia nowej sesji (i wtedy umieszczamy w sesji pusty koszyk)
* i zakończenia sesji.
*/
public
void
sessionCreated
(
HttpSessionEvent
se
)
{
HttpSession
session
=
se
.
getSession
();
System
.
out
.
println
(
"Nowa sesja: "
+
session
.
getId
());
session
.
setMaxInactiveInterval
(
30
);
session
.
setAttribute
(
"basket"
,
new
Basket
());
}
public
void
sessionDestroyed
(
HttpSessionEvent
se
)
{
HttpSession
session
=
se
.
getSession
();
System
.
out
.
println
(
"Koniec sesji: "
+
session
.
getId
());
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment