Light Purple Pointer
๋ชจ๋ธ1 ๋ฐฉ์‹์˜ ํšŒ์›์ œ ๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ - ํ”„๋กœ์„ธ์Šค ๋ฐ DB ์„ค๊ณ„
ยท
BACKEND/Jsp
๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ชฉํ‘œ 1) ๋กœ๊ทธ์ธ 2) ๋ชฉ๋ก ๋ณด๊ธฐ 3) ๊ธ€์“ฐ๊ธฐ 4) ์ƒ์„ธ ๋ณด๊ธฐ 5) ์ˆ˜์ •ํ•˜๊ธฐ 6) ์‚ญ์ œํ•˜๊ธฐ ํ™œ์šฉ ๊ธฐ์ˆ  1) ์ง€์‹œ์–ด 2) ์Šคํฌ๋ฆฝํŠธ ์š”์†Œ 3) ๋‚ด์žฅ๊ฐ์ฒด(requset,response , out, session.application) 4) JDBC(DAO/DTO) 5) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํšŒ์›์ œ ๊ฒŒ์‹œํŒ ํ”„๋กœ์„ธ์Šค https://app.diagrams.net/ Flowchart Maker & Online Diagram Software Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to creat..
๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ 5 -์ˆ˜์ •ํ•˜๊ธฐ /์‚ญ์ œํ•˜๊ธฐ
ยท
BACKEND/Jsp
write.jsp ๋ณต์‚ฌํ•ด์„œ update.jsp ๋งŒ๋“ค๊ธฐ ์ˆ˜์ •์„ ๋ˆ„๋ฅด๋ฉด ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ์ „์— ํ•œ๋ฒˆ ์ฝ์–ด์„œ ํ‘œ์‹œ๋ฅผ ํ•ด์คŒ updateAction.jsp JSP ๊ฒŒ์‹œํŒ ๋ฉ”์ธ ๊ฒŒ์‹œํŒ ์•ˆ๋…•ํ•˜์„ธ์š”${userID}๋‹˜ ์ ‘์†ํ•˜๊ธฐ ๋กœ๊ทธ์•„์›ƒ ์ˆ˜์ • ๋ฒ„ํŠผ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ • ๊ฒŒ์‹œํŒ ์ถœ๋ ฅ๋จ BbsDAO ์ˆ˜์ • update๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ // id์˜ ๊ฒŒ์‹œ๊ธ€์„ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ public int update(int bbsID, String bbsTitle, String bbsContent) { String SQL = "update bbs set bbsTitle = ? , bbsContent =? where bbsID = ?"; try { PreparedStatement pstmt = conn.prepareStatement(SQL); p..
๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ 4 -ํŽ˜์ด์ง•, ๊ฒŒ์‹œ๊ธ€ ์ƒ์„ธ๋ณด๊ธฐ
ยท
BACKEND/Jsp
BbsDAO.java ์— ์ถ”๊ฐ€ // ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ธ€์˜ ๊ฐฏ์ˆ˜ + 1 ๋ฆฌํ„ด public int getNext() { //๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›Œ๋„ ๋˜๋Š”๋ฐ, ๋ฐฑ์—…์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฐ”๋กœ ์‚ญ์ œ์•ˆํ•˜๊ณ  ์ˆจ๊น€ํ‘œ์‹œํ• ๊ฑฐ์ž„ String SQL = "SELECT COUNT(*) FROM bbs WHERE bbsAvailable = 1"; try { PreparedStatement pstmt = conn.prepareStatement(SQL); rs = pstmt.executeQuery(); if (rs.next()) { return rs.getInt(1) + 1; //ํ˜„์žฌ ์ด ๊ฒŒ์‹œ๊ธ€์˜ +1 ๋งŒํผ ๋ฆฌํ„ด } return 1; // ์ฒซ ๋ฒˆ์งธ ๊ฒŒ์‹œ๋ฌผ์ธ ๊ฒฝ์šฐ } catch (Exception e) { e.printStackTrace(); }..
๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ 3 - ๋ฉ”์ธ ํŽ˜์ด์ง€ ,๊ฒŒ์‹œํŒ ,๊ธ€์“ฐ๊ธฐ, ๊ฒŒ์‹œํŒ ์ถœ๋ ฅ
ยท
BACKEND/Jsp
login.jsp ๋ณต์‚ฌํ•ด์„œ main.jsp ๋งŒ๋“ค๊ธฐ JSP ๊ฒŒ์‹œํŒ ๋ฉ”์ธ ๊ฒŒ์‹œํŒ ์•ˆ๋…•ํ•˜์„ธ์š”${userID}๋‹˜ ์ ‘์†ํ•˜๊ธฐ ๋กœ๊ทธ์ธ ๊ฐ€์ž…ํ•˜๊ธฐ ๋กœ๊ทธ์•„์›ƒ nav์— ๋งŒ์•ฝ userID๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ๋งŒ์•ฝ NULL์ด๋ฉด ๊ฐ€์ž…ํ•˜๊ธฐ, ๋กœ๊ทธ์ธ๋งŒ ๋ณด์—ฌ์ฃผ๊ณ , ์•„๋‹ˆ๋ฉด ๋กœ๊ทธ์•„์›ƒ ๋ณด์—ฌ์ฃผ๊ธฐ 1. ๋กœ๊ทธ์ธ ์ „ 2. ๋กœ๊ทธ์ธ ํ›„ ์•ˆ๋…•ํ•˜์„ธ์š”${userID}๋‹˜ ์บ๋กœ์…€ Previous Next bbs.jsp ์ƒ์„ฑ JSP ๊ฒŒ์‹œํŒ ๋ฉ”์ธ ๊ฒŒ์‹œํŒ ์•ˆ๋…•ํ•˜์„ธ์š”${userID}๋‹˜ ์ ‘์†ํ•˜๊ธฐ ๋กœ๊ทธ์ธ ๊ฐ€์ž…ํ•˜๊ธฐ ๋กœ๊ทธ์•„์›ƒ ๋ฒˆํ˜ธ ์ œ๋ชฉ ์ž‘์„ฑ์ž ์ž‘์„ฑ์ผ 1 ์•ˆ๋…•ํ•˜์„ธ์š”. ํ™๊ธธ๋™ 2021-1-10 ๊ธ€์“ฐ๊ธฐ Java Resources์—์„œ bbsํŒจํ‚ค์ง€ ์ƒ์„ฑ ํ›„ Bbs.java ์ƒ์„ฑ package bbs; public class Bbs { private int bbsID; //๊ฒŒ์‹œ๊ธ€ID priv..
๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ 2 - ํšŒ์›๊ฐ€์ž… , ๋กœ๊ทธ์•„์›ƒ
ยท
BACKEND/Jsp
login.jsp ๋ณต์‚ฌํ•ด์„œ join.jsp ๋งŒ๋“ค๊ธฐ JSP ๊ฒŒ์‹œํŒ ๋ฉ”์ธ ๊ฒŒ์‹œํŒ ์ ‘์†ํ•˜๊ธฐ ๋กœ๊ทธ์ธ ๊ฐ€์ž…ํ•˜๊ธฐ ํšŒ์›๊ฐ€์ž… ํ™”๋ฉด ๋‚จ์„ฑ ์—ฌ์„ฑ ***input minlength="4" maxlength="20" 4์ž์ด์ƒ 20์ดํ•˜ ํ…Œ์ŠคํŠธ UserDAO.java ์—์„œ ํšŒ์›๊ฐ€์ž… ๋ฉ”์†Œ๋“œ ์ถ”๊ฐ€ //ํšŒ์›๊ฐ€์ž… ๋ฉ”์†Œ๋“œ public int join(User user) { String SQL = "insert into user values ( ?, ?, ?, ?, ?)"; try { pstmt = conn.prepareStatement(SQL); pstmt.setString(1, user.getUserID()); pstmt.setString(2, user.getUserPassword()); pstmt.setString(3, user.ge..
๊ฒŒ์‹œํŒ ๋งŒ๋“ค๊ธฐ-1( db์—ฐ๊ฒฐํ™•์ธ ~ ๋กœ๊ทธ์ธ )
ยท
BACKEND/Jsp
https://youtu.be/wEIBDHfoMBg?list=PLRx0vPvlEmdAZv_okJzox5wj2gG_fNh_6 ์ด ๊ฐ•์˜๋ฅผ ๊ทธ๋Œ€๋กœ ๋งŒ๋“ค ์˜ˆ์ • bbs ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ index.jsp ์ƒ์„ฑ index.jsp **location.href : ํ˜„์žฌ ๋ธŒ๋ผ์šฐ์ €์˜ ์œ„์น˜ \login.jsp๋กœ ๋ฐ”๊พผ๋‹ค. -> loginํŽ˜์ด์ง€๋กœ ์ด๋™ ๋ถ€ํŠธ์ŠคํŠธ๋žฉ ๋‹ค์šด๋กœ๋“œ ์ด ์˜ˆ์ œ์—์„œ๋Š” 4.1 ๋ฒ„์ „์„ ์‚ฌ์šฉํ–ˆ์Œ. ์••์ถ•ํ’€์–ด์„œ ์•„๋ž˜์˜ ํŒŒ์ผ๋“ค ๋นผ๊ณ  ๋‹ค ์‚ญ์ œ ์ œ์ด์ฟผ๋ฆฌ ๋‹ค์šด๋กœ๋“œ https://jquery.com/download/ Download jQuery | jQuery link Downloading jQuery Compressed and uncompressed copies of jQuery files are available. The un..
๋ถ๋งˆ์ผ“ ํ”„๋กœ์ ํŠธ 10
ยท
BACKEND/Jsp
์ƒˆ ๋„์„œ ๋“ฑ๋ก (db์—ฐ๊ฒฐ) processAddBook.jsp ์ˆ˜์ • ๋„์„œ ์ˆ˜์ • ํŽ˜์ด์ง€ ์ถ”๊ฐ€ processAddBook.jsp ์ˆ˜์ • books.jsp ๋ณต์‚ฌํ•ด์„œ editBook.jsp ๋งŒ๋“ฌ ๐Ÿงพ ๋„์„œ ํŽธ์ง‘ [] ... | | ์› ์ˆ˜์ • » ***** menu.jsp ์—์„œ ๋„์„œ ์ˆ˜์ •์˜ ๋งํฌ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ edit์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ update๋ผ๋ฉด ์ˆ˜์ • ๊ด€๋ฆฌ์ž๋งŒ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ web.xml ๊ด€๋ฆฌ์ž ๊ถŒํ•œ url ์ถ”๊ฐ€ BookMarket Security BookMarket /addBook.jsp /editBook.jsp editBook.jsp ์ˆ˜์ •ํŽ˜์ด์ง€ updateBook.jsp ํŒŒ์ผ ์ƒ์„ฑ ๋„์„œ ์ˆ˜์ • ๋„์„œ์ฝ”๋“œ ๋„์„œ๋ช… ๊ฐ€๊ฒฉ ์ €์ž ์ถœํŒ์‚ฌ ์ถœํŒ์ผ ์ดํŽ˜์ด์ง€ ์ˆ˜ ์ƒ์„ธ์ •๋ณด ๋ถ„๋ฅ˜ ์žฌ๊ณ ์ˆ˜ ์ƒํƒœ ์‹ ๊ทœ ๋„์„œ ์ค‘๊ณ  ๋„์„œ E-Book ..
๋ถ๋งˆ์ผ“ ํ”„๋กœ์ ํŠธ 9
ยท
BACKEND/Jsp
MySQL DB์—ฐ๊ฒฐํ•˜๊ธฐ marketdb์ƒ์„ฑ Apply use marketdb; DROP TABLE IF EXISTS BOOK; CREATE TABLE IF NOT EXISTS Book ( id VARCHAR(10) PRIMARY KEY, name VARCHAR(20), unitPrice INTEGER, author VARCHAR(50), publisher VARCHAR(20), description TEXT, category VARCHAR(20), unitsInStock LONG, totalPages LONG, releaseDate VARCHAR(20), b_condition VARCHAR(20), fileName VARCHAR(20) ); book์œผ๋กœ ์ €์žฅ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ INSERT INTO Book V..
๋ถ๋งˆ์ผ“ ํ”„๋กœ์ ํŠธ 8
ยท
BACKEND/Jsp
์ฃผ๋ฌธํ•˜๊ธฐ ์š”์ฒญํ•˜๋ฉด ๋ฐฐ์†ก์ •๋ณดํŽ˜์ด์ง€ cart.jsp ์ฃผ๋ฌธํ•˜๊ธฐ ๋ฒ„ํŠผ ์ˆ˜์ • ์ฃผ๋ฌธํ•˜๊ธฐ shipping.jsp ํŒŒ์ผ ์ƒ์„ฑ ๋ฐฐ์†ก ์ •๋ณด ์„ฑ๋ช… ๋ฐฐ์†ก์ผ ๊ตญ๊ฐ€๋ช… ์šฐํŽธ๋ฒˆํ˜ธ ์ฃผ์†Œ ์ด์ „ ์ทจ์†Œ ์ด๋ฏธ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์ •๋ณด๋Š” ์„ธ์…˜์— ์ €์žฅ๋˜์–ด์žˆ์Œ. ํ™”๋ฉด ์ถœ๋ ฅ ์ทจ์†Œ ๋ฒ„ํŠผ ๋ˆŒ๋ €์„ ๊ฒฝ์šฐ ์ทจ์†ŒํŽ˜์ด์ง€๋กœ ์ด๋™ orderCancel.jsp ํŒŒ์ผ ์ƒ์„ฑ ์ฃผ๋ฌธ ์ทจ์†Œ ์ฃผ๋ฌธ์ด ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. « ๋„์„œ๋ชฉ๋ก shipping.jsp์—์„œ ๋“ฑ๋ก ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด processShipping.jsp์œผ๋กœ ์ด๋™ํ•จ processShipping.jspํŒŒ์ผ ์ƒ์„ฑ ** ์ฟ ํ‚ค์— ์ฃผ๋ฌธ ๋ฐฐ์†ก ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. ***setMaxAge : ์ฟ ํ‚ค ์ƒ์กด ์‹œ๊ฐ„ (์ดˆ ๋‹จ์œ„) **** : ์ฟ ํ‚ค๋ฅผ ํ•œ๊ธ€๋กœ ์ €์žฅ ์‹œ URLEncoder ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ €์žฅ ์‹œ encode๋ฅผ ํ•œ๋‹ค. Cookie cartId = ..
๋ถ๋งˆ์ผ“ ํ”„๋กœ์ ํŠธ 7
ยท
BACKEND/Jsp
์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ์ฑ… ๋‹ด๊ธฐ dto -> Book.java ๋ฉค๋ฒ„๋ณ€์ˆ˜ ์ถ”๊ฐ€ private int quantity; // ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์€ ๊ฐœ์ˆ˜ public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } book.jsp ์žฌ๊ณ ์ˆ˜ ๋ฐ‘์— ์ˆ˜์ • ๋„์„œ์ฃผ๋ฌธ » ์žฅ๋ฐ”๊ตฌ๋‹ˆ » ๋„์„œ๋ชฉ๋ก » ๋„์„œ ์ •๋ณด [] ๋„์„œ์ฝ”๋“œ : ์ €์ž : ์ถœํŒ์‚ฌ : ์ถœํŒ์ผ : ์ด ํŽ˜์ด์ง€์ˆ˜ : ์žฌ๊ณ ์ˆ˜ : ์› ๋„์„œ์ฃผ๋ฌธ » ์žฅ๋ฐ”๊ตฌ๋‹ˆ » ๋„์„œ๋ชฉ๋ก » ์ถœ๋ ฅํ™”๋ฉด ๋„์„œ์ฃผ๋ฌธ ํด๋ฆญ ์‹œ addCart.jsp ํŒŒ์ผ ์ƒ์„ฑ ์‚ญ์ œํ•˜๊ธฐ ์ฃผ๋ฌธํ•˜๊ธฐ ๋„์„œ ๊ฐ€๊ฒฉ ์ˆ˜๋Ÿ‰ ์†Œ๊ณ„ ๋น„๊ณ  - ์‚ญ์ œ ์ด์•ก « ์‡ผํ•‘ ๊ณ„์†ํ•˜๊ธฐ ์‚ญ์ œ ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ์‹œ id๊ฐ€ ๋„˜์–ด๊ฐ ํ•ด๋‹น ..
ใ„ด