๐Ÿ“š๊ฐœ๋ฐœ ๋ณต์Šต ๋…ธํŠธ

๐Ÿ“š๊ฐœ๋ฐœ ๋ณต์Šต ๋…ธํŠธ

  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (210)
    • java (57)
    • HTML (5)
    • CSS (6)
    • JSP&Servlet (16)
    • DB (17)
    • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (0)
    • Spring (57)
    • Python (26)
    • git (3)
    • jquery (9)
    • nodejs (12)
    • network (1)
  • ํ™ˆ
RSS ํ”ผ๋“œ
๋กœ๊ทธ์ธ
๋กœ๊ทธ์•„์›ƒ ๊ธ€์“ฐ๊ธฐ ๊ด€๋ฆฌ

๐Ÿ“š๊ฐœ๋ฐœ ๋ณต์Šต ๋…ธํŠธ

์ปจํ…์ธ  ๊ฒ€์ƒ‰

ํƒœ๊ทธ

๊ฐœ๋ฐœ๋…ธํŠธ DB css ์ž๋ฐ” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค java html ๊ฐœ๋ฐœ

์ตœ๊ทผ๊ธ€

๋Œ“๊ธ€

๊ณต์ง€์‚ฌํ•ญ

์•„์นด์ด๋ธŒ

์ „์ฒด ๊ธ€(210)

  • ajax(๋น„๋™๊ธฐ ํ†ต์‹ )

    ajax(๋น„๋™๊ธฐ ํ†ต์‹ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ) -๋™๊ธฐ : ํŽ˜์ด์ง€ ์ด๋™๊ณผ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ๋™์‹œ์— ์ผ์–ด๋‚œ๋‹ค -๋น„๋™๊ธฐ : ํŽ˜์ด์ง€ ์ด๋™์„ ํ•˜์ง€ ์•Š์•„๋„ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋น„๋™๊ธฐ ์”€. ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•จ. ajax ์—ฐ์Šต์šฉ ํ…Œ์ด๋ธ” 3๊ฐœ ์ƒ์„ฑ ํ”„๋กœ์ ํŠธ ์ƒˆ๋กœ ์ƒ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— db์ž‘์—… ๋‹ค ํ•ด์ฃผ๊ธฐ! test_ajax.html ์ƒ์„ฑ ํ›„ ๋ฒ„ํŠผ ๋งŒ๋“ค์–ด์„œ ajax ๊ธฐ๋Šฅ test html - js ์—ฐ๊ฒฐ ์ž‘์—… ํ•˜๊ธฐ ์˜ˆ์ œ1. ajax ๊ฐ์ฒด ์ƒ์„ฑ ํ•˜๊ธฐ //ajax ์˜ˆ์ œ 1 function ajax_test1(){ //ajax ํ†ต์‹ ์„ ์œ„ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ const xhr = new XMLHttpRequest(); //controller๋กœ ์ด๋™ //์ฒซ๋ฒˆ์งธ ๋งค๊ฐœ๋ณ€์ˆ˜ : 'post', 'get' //๋‘๋ฒˆ..

    2023.03.21
  • ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ - ๋Œ“๊ธ€ ๋“ฑ๋ก ๋ฐ ์กฐํšŒ

    board_detail.html์—์„œ ๋Œ“๊ธ€ ์ž…๋ ฅ ๊ฐ€๋Šฅ, ๋Œ“๊ธ€ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๋˜์–ด์•ผ ํ•จ. ๋Œ“๊ธ€ ์ž…๋ ฅ ๊ธฐ๋Šฅ ๋Œ“๊ธ€ ์ž…๋ ฅ์ฐฝ ๋งŒ๋“ค๊ธฐ ๋Œ“๊ธ€ replymapper์—์„œ ๋Œ“๊ธ€ ๋“ฑ๋ก insert๋ฌธ ์ž‘์„ฑ INSERT INTO SPRING_REPLY ( REPLY_NUM , REPLY_CONTENT , REPLY_WIRTER , BOARD_NUM ) VALUES ( (SELECT 'REPLY_'||LPAD(NVL(MAX(TO_NUMBER(SUBSTR(REPLY_NUM, 7))), 0) + 1, 3, '0') FROM SPRING_REPLY) , #{replyContent} , #{replyWriter} , #{boardNum} ) ReplyService์— ๋ฉ”์†Œ๋“œ ์ƒ์„ฑ //๋Œ“๊ธ€ ๋“ฑ๋ก void insertReply(ReplyVO r..

    2023.03.20
  • ๊ฒŒ์‹œ๊ธ€ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ

    ์•„๋ž˜์˜ ํ˜•ํƒœ๋กœ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ ์„ค์ • ์ด์ „ 1 2 3 4 5 ๋‹ค์Œ ํ•œ ํŽ˜์ด์ง€์— 10๊ฐœ์”ฉ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ์กฐํšŒ(์ตœ์‹ ๊ธ€ ๊ธฐ์ค€) ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ทธ ํŽ˜์ด์ง€์— ๋œจ๋Š” ๊ฒŒ์‹œ๊ธ€ 10๊ฐœ ์กฐํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ฒ˜๋ฆฌ ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” PageVO(๊ฐ์ฒด) ์ƒ์„ฑ , getter/setter๋„ ์ƒ์„ฑ public class PageVO { private int nowPage; //ํ˜„์žฌ ์„ ํƒ๋œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ private int totalDataCnt; //์ „์ฒด ๋ฐ์ดํ„ฐ(๊ฒŒ์‹œ๊ธ€) ์ˆ˜ private int beginPage; //ํ™”๋ฉด์— ๋ณด์ด๋Š” ์ฒซ๋ฒˆ์งธ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ์ด์ „ 1 2 3 4 5 ๋‹ค์Œ 1๋ฒˆ์ž๋ฆฌ ํ•ด๋‹น private int endPage; //ํ™”๋ฉด์— ๋ณด์ด๋Š” ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ 5๋ฒˆ์ž๋ฆฌ ํ•ด๋‹น private ..

    2023.03.20
  • BootStrap (๋ฐ˜์‘ํ˜• ์›น ์‚ฌ์ดํŠธ)

    Docs - introduction - ๋‘๋ฒˆ์งธ ์†Œ์Šค์—์„œ ์•„๋ž˜ ๊ฒƒ๋“ค ์ ์šฉํ•  html์˜ css/ js ์ž๋ฆฌ์— ๋ถ™์—ฌ ๋„ฃ๊ธฐ css js Components - buttons ๋ฒ„ํŠผ ํ˜•์‹(? ๋ณผ ์ˆ˜ ์žˆ์Œ Primary Secondary Success Danger Warning Info Light Dark Link - BootStrap ์ƒ˜ํ”Œ BootStrap์˜ ๋ฒ„ํŠผ๋“ค Layout์œผ๋กœ ํ™”๋ฉด ๊ตฌ์—ญ ๋‚˜๋ˆ„๊ธฐ ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  ๋‚ด์šฉ์€ ํŠน์ • ํด๋ž˜์Šค์— ๊ฐ์‹ธ์„œ ๋งŒ๋“ค ๊ฒƒ. div1 div2 div3 div4 div5 div6 div7 div8 ๋ฐ˜์‘ํ˜• (pc > ์Šค๋งˆํŠธํฐ ํ™”๋ฉด ํฌ๊ธฐ์— ๋”ฐ๋ผ ํ™”๋ฉด ์‚ฌ์ด์ฆˆ ์ž๋™ ์กฐ์ ˆ) Navbar Home Features Pricing Disabled ์ž‘๊ฒŒ ํ•˜๋ฉด ๋ฉ”๋‰ด๋ฐ” ๋‹ฌ๋ผ์ง

    2023.03.17
  • spring - ์™ธ๋ถ€ css/javascript ๋กœ๋”ฉ

    ์œ„์น˜ : static ํด๋” ์•„๋ž˜ (css/js/img) ์™ธ๋ถ€ css์™€ html ์—ฐ๊ฒฐ ์‹œ link ํƒœ๊ทธ ์‚ฌ์šฉ title ํƒœ๊ทธ ์•„๋ž˜ ์ž‘์„ฑ href ์ž‘์„ฑ ์‹œ ์ฃผ์˜! ccs/js ๊ธฐ์ค€ ํด๋” : static์— ์ ‘๊ทผํ•˜๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ๋งจ ์•ž์— / ์žˆ์–ด์•ผ ๋œ๋‹ค. fragment ์‚ฌ์šฉ ์‹œ ์™ธ๋ถ€ css, js ์—ฐ๊ฒฐํ•˜๊ธฐ fragment ์‚ฌ์šฉ ์‹œ ์œ„์™€ ๊ฐ™์ด css/script ์—ฐ๊ฒฐ ํƒœ๊ทธ๋“ค์ด th:block ๋ฐ–์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ์šฉ ์•ˆ ๋จ. ๊ทธ๋ฆฌ๊ณ  ํ™”๋ฉด ๋”ฐ๋ผ css, javascript ๋งค๋ฒˆ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์— css, javascript๋„ ์—ฐ๊ฒฐ์ด ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ฒŒ layout.html์— ์•„๋ž˜ ์ฝ”๋“œ ์ถ”๊ฐ€ css ์ฝ”๋“œ ์œ„์น˜ : ์ „ js ์ฝ”๋“œ ์œ„์น˜ : ํƒœ๊ทธ ์ „ fragment.html์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด css ๋ถˆ๋Ÿฌ์˜ค๋Š” th:block / cont..

    2023.03.17
  • Spring ํ™”๋ฉด ๋ถ„ํ• 

    Spring ๊ตฌ์กฐ ์žก๊ธฐ ๋ฉ”๋‰ด ๋ณธ๋ฌธ ๋ถ„๋ฆฌ jsp์˜ ํ™”๋ฉด ๋ถ„ํ•  > template spring > fragment (thymeleaf์—์„œ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ) build.gradle์— dependencies ๋งจ ์ฒซ์ค„์— ์•„๋ž˜ ์ฝ”๋“œ ๋„ฃ์–ด์•ผ ํ™”๋ฉด๋ถ„ํ•  ๊ธฐ๋Šฅ(fragment)์„ ์ œ๊ณตํ•ด์ค€๋‹ค. implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect' ์ €์žฅ ํ›„ gradle refresh ํ•ด์ฃผ๊ธฐ! ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ์ปจํŠธ๋กค๋Ÿฌ ๋งŒ๋“ค์–ด์คŒ templates ๋ฐ‘์— fragment์™€ content ํด๋” ์ƒ์„ฑ fragmentํด๋” ์•ˆ์— header.html ์ƒ์„ฑ - ๋ฉ”๋‰ด ๋ถ€๋ถ„ user_layout.html ์ƒ์„ฑ - ์œ ์ €๊ฐ€ ๋ณด๋Š” ๋ชจ๋“  html ์—ด๋ฆฌ๋Š” layout ํŒŒ์ผ user_layout..

    2023.03.16
  • Spring ๊ฒŒ์‹œํŒ ํ”„๋กœ์ ํŠธ

    ํ”„๋กœ์ ํŠธ ์•„๋ž˜์ฒ˜๋Ÿผ ๋งŒ๋“ค ๊ฒƒ. com.study.board member controller vo service board controller vo service reply ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€ ์•„์ด๋”” ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ์ฐฝ - ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ , ์กฐ์ธ ๋ฒ„ํŠผ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ ๊ฒŒ์‹œ๊ธ€ ๋ชฉ๋ก ํŽ˜์ด์ง€๋กœ ์ด๋™ ์กฐ์ธ ๋ฒ„ํŠผ ํšŒ์›๊ฐ€์ž… ํŽ˜์ด์ง€๋กœ ์ด๋™ ํ™”๋ฉด ๋ถ„ํ•  templates ํด๋” ๋ฐ‘์— content(๋‚ด์šฉ๋ถ€ html ๋ชจ์Œ) ํด๋”์™€ fragment ํด๋” ๋งŒ๋“ค์–ด ์คŒ content ํด๋” ์•ˆ์— member/board ํด๋” ๋ฐ‘์— ํ™”๋ฉด์— ๋ณด์—ฌ์งˆ ํ•ด๋‹น html๋“ค ์ž‘์„ฑํ•˜๋ฉด ๋จ. fragment(๋ชจ๋“  html์ด ์—ด๋ฆฌ๋Š” ํŒŒ์ผ ๋ชจ์Œ)์— layout.html ์ƒ์„ฑ ์•„๋ž˜ ์ฝ”๋“œ ์ž‘์„ฑํ•˜์—ฌ ํ™”๋ฉด ๋ถ„๋ฆฌ fragment ํด๋” ๋ฐ‘์— header.html ์ƒ์„ฑ ์•„๋ž˜ ์ฝ”๋“œ ์ž‘์„ฑ ..

    2023.03.15
  • Spring ๋ฐ์ดํ„ฐ ๋„˜๊ธฐ๊ณ  ๋ฐ›๊ธฐ(์ƒ์„ธ)

    ๋ฐฉ๋ฒ•1. test1์—์„œ name์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„˜์–ด์˜ค๋ฉด Controller์—์„œ๋Š” ๋ณ€์ˆ˜์— ๋„˜์–ด์˜ค๋Š” ์ด๋ฆ„์ด๋ž‘ ๋˜‘๊ฐ™์ด ๋ฐ›์•„์˜ด. ๋ฐฉ๋ฒ•2. ๋งค๊ฐœ๋ณ€์ˆ˜์—๋„ ์–ด๋…ธํ…Œ์ด์…˜์ด ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋‹ค. @RequestParam : ์š”์ฒญํ•  ๋•Œ ๋„˜์–ด์˜ค๋Š” ํŒŒ๋ผ๋ฉ”ํ„ฐ(๋ฐ์ดํ„ฐ)๋ฅผ ์ปจํŠธ๋กค(? name : ๋„˜์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ ์ด๋ฆ„ @GetMapping("/test2") public String test2(@RequestParam(name = "name") String name) { return "test2"; } ๋„˜์–ด์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์ด๋ฆ„์— ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋ช…์ด ๋‹ฌ๋ผ๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. @GetMapping("/test2") public String test2(@RequestParam(name = "name") String data) { Sy..

    2023.03.15
  • Spring - DB ํšŒ์› ๊ด€๋ฆฌ ์‹ค์Šต

    ๋ฉค๋ฒ„ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ํ›„ ์‚ฌ์šฉํ•  controller ๋“ฑ ๋‹ค ๋งŒ๋“ค์–ด์ฃผ๊ณ  MemberServiceImpl์— DB์—ฐ๊ฒฐ ์ž‘์—…์„ ์œ„ํ•ด ์•„๋ž˜ ์ฝ”๋“œ ์ž‘์„ฑ @Autowired private SqlSessionTemplate sqlSession; spring์—์„œ input ๋ฒ„ํŠผ์œผ๋กœ ํŽ˜์ด์ง€ ์ด๋™ํ•  ๋•Œ ๋ฌธ๋ฒ• ํŠน์ดํ•จ. ๋ฒ„ํ‹ฐ์ปฌ๋ฐ”์— ๊ฐ์‹ธ์„œ @{}์— ํŽ˜์ด์ง€ ์ด๋™ํ•  ๊ณณ ๋„ฃ์–ด์คŒ. ํƒ€์ž„๋ฆฌํ”„์—์„œ form ํƒœ๊ทธ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ ๋„˜๊ธฐ๊ธฐ๋„ ๊ฐ€๋Šฅ. th:action ์‚ฌ์šฉ / ํŽ˜์ด์ง€ ์ด๋™์€ ์ „๋ถ€ @{}์— ์ž‘์„ฑ th:object="${memberVO}" ์†์„ฑ ๋„ฃ์–ด์ฃผ๊ณ  inputํƒœ๊ทธ์— th:field="*{๋ณ€์ˆ˜ ์ด๋ฆ„}" ์†์„ฑ์„ ๋„ฃ์–ด์ฃผ๋ฉด MemberVO์˜ ๋ณ€์ˆ˜์™€ ๋™์ผํ•˜๊ฒŒ id, name ๊ฐ’ ์ž๋™์œผ๋กœ ๋„ฃ์–ด์คŒ //ํšŒ์› ๋“ฑ๋ก ํ™”๋ฉด ์ด๋™ @GetMap..

    2023.03.15
์ด์ „
1 ยทยทยท 9 10 11 12 13 14 15 ยทยทยท 24
๋‹ค์Œ
๐Ÿ“š๊ฐœ๋ฐœ ๋ณต์Šต ๋…ธํŠธ
ยฉ 2018 TISTORY. All rights reserved.

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”