์ ์ฅ ์์น ์ฟ ํค : ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ง์ ํ๋ ๋ฉ๋ชจ๋ฆฌ or ํ๋๋์คํฌ ์ธ์
: ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ ๋ง๋ฃ ์์ ์ฟ ํค : ์์ฑ ์ค์ ์ ์ด์ฉํด ์ญ์ ๋ ๋ ์ง๋ฅผ ์ ํ ์ ์๋ค. ์ธ์
: ํด๋ผ์ด์ธํธ๊ฐ ๋ก๊ทธ์์ํ๊ฑฐ๋, ์ค์ ๋ ๊ธฐ๊ฐ๋์ ๋ฐ์์ด ์์ผ๋ฉด ๋ฌดํจํ ๋๊ธฐ ๋๋ฌธ์ ์์ ์ ์ ์ ์๋ค. ๋ฆฌ์์ค ์ฟ ํค : ํด๋ผ์ด์ธํธ์ ์ ์ฅ๋๊ณ ํด๋ผ์ด์ธํธ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ธ์
: ์๋ฒ์ ์ ์ฅ๋์ด ์๋ฒ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋ฉ ๋๊ธฐ ๋๋ฌธ์ ์ธ์
์ด ์๊ธธ ๋๋ง๋ค ๋ฆฌ์์ค ์ฐจ์ง ์ฉ๋์ ํ ์ฟ ํค : ํด๋ผ์ด์ธํธ๋ ๋ชจ๋ฅด๊ฒ ์ค์ ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ฉ์ธ๋น 20, ํ๋์ ์ฟ ํค๋น 4KB๋ก ์ ํ ์ธ์
: ํด๋ผ์ด์ธํธ๊ฐ ์ ์ํ๋ฉด ์๋ฒ์ ์ํด ์์ฑ๋์ด ๊ฐ์๋ ์ฉ๋ ์ ํ ์์ ์ ์ฅํ์ ์ฟ ํค : Text ์ธ์
: Object
์ ์ฒด ๊ธ
Servlet์์ 1:1mapping์ ๋ณด์ํด์ ์๋์ผ๋ก ๋ถ๊ธฐ, ์๋์ผ๋ก ์์ฑํ๋ฉด ์ด๋์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฌ๊ธฐ์ ์ด Controller๋ ๋ค์ํ ์์ฒญ์ ์ ์ดํ์ฌ J2EE Pattern: frontController ๋ผ๊ณ ํฉ๋๋ค. Business Layer์์ handler mapper๋ฅผ ์๊ณ ๊ทธ๋ฆฌ์ง ์์๋๋ฐ ์์๋์ด์ผ ํฉ๋๋ค. Handler Mapping : dispatcherSevlet์ผ๋ก ๋ฐ์ ์์ฒญ -> Controller ๋ณด๋-> ์์ฒญ์ด ์ด๋ค ๋งคํ์ธ์ง ๊ทธ ๋ฐฉ๋ฒ์ ์ ํด์ฃผ๋ ํด๋์ค ์
๋๋ค. Spring 3๋ ์๋์๋ฆฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. 1. DI/IoC - Bean Spring ์ฌ์ฉํ ์ ์๋๋ก ๋ฑ๋ก - Life-Cycle์ ๋ฐ๋ผ๊ฐ์ง ์๊ณ ์ฌ์ฉ POJO๋ฅผ Spring beanํน์ @Annotation์..
Spring FrameWork๋ฅผ ์ค๋ช
ํ๊ธฐ ์ Servlet์ ๋จผ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค. Servlet์ด๋ผ ํ๋ฉด 3๊ฐ์ง๋ฅผ ์์๋๋ฉด ์ข์์. Url-Mapping, Hierarchy, Life-cycle์
๋๋ค. ํ๋์ฉ ์์๋ณผ๊ฒ์! Url-Mapping 1:1 servlet-mapping ๋ธ๋ผ์ฐ์ ์์ ws์ ์์ฒญํ๋ ์ฃผ์์ ํด๋น ์ฃผ์์ ์ฒ๋ฆฌ ๋ก์ง์ 1:1 ๋งคํํ๋ค ๋ฌธ์ : ๋๋ฌด ๋ง์ mapping์ผ๋ก ์ฝ๋๊ฐ ๋ณต์กํด์ง๋ค. Life-Cycle (์๋ช
์ฃผ๊ธฐ) HttpServlet -> OCP(Open Closed Programming) ์ด๊ธฐํ -> ์๋น์ค -> ์ข
๋ฃ init() service() distroy() doGet() doPost() doDelete() Hierarchy ๊ณ์ธต๊ตฌ์กฐ HttpServelt์ ์์๋ฐ์ ..
Window - Eclipse Marketplace - sts ๊ฒ์ ์๋ก์ด Spring ํ๋ก์ ํธ๋ฅผ ์์ฑํฉ๋๋ค. ํ๋ก์ ํธ ์ค๋ฅธ์ชฝ ํด๋ฆญ - properties - Project Facets ์ ์ฉํด์ฃผ์๊ณ , pon.xml ๋ค์ด๊ฐ๋๋ค. ์ฒดํฌํ ๋ถ๋ถ ๋ณ๊ฒฝ ํด์ฃผ์๋ฉด ๋ฉ๋๋ค. ์คํฌ๋กค ๋ฐ์ผ๋ก ์ญ ๋ด๋ ค์ plugin๋ ๋ฐ๊ฟ์ค๊ฒ์~ ์ด๋ ๊ฒ ํ๊ณ ์ ์ฅํ๋ฉด ๋ฉ์ด๋ธ์ด ์ด์ฌํ ๋ค์ด๋ก๋ํฉ๋๋ค. ์ด์ ๋ง๋ฐํฐ์ค, ์คํ๋ง ์ฐ๊ฒฐ ๊ด๋ จ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ค์ด๋ก๋ํ๊ณ ์ค์ ํด ์ค๊ฒ์. ์ผ๋จ, ์ ๋ spring ์ค์ ํ์ผ์ ํ ๋ฒ์ ๋ณด๊ณ ์ถ๊ธฐ ๋๋ฌธ์ web.xml ์์ ์ด ๋ถ๋ถ์ ํด๋์ ๋ฃ์ด ์ฃผ์์ด์ ๊ทธ๋ฌ๋ฉด ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๊ฐ์ด ๊ด๋ฆฌํ ์ ์์ต๋๋ค! ๊ทธ๋ฆฌ๊ณ ์ค์ํ๊ฒ์ filter๋ฅผ ์ด์ฉํด์ ์ธ์ฝ๋ฉ์ ํด์ค๋๋ค. web.xml์ ์์ฑํด์ฃผ์๋ฉด ..
์ค์นํ ๊ฒ 1. JDK 2. apache tomcat * - jdk - javac, jheap ๋ฑ - jre - Java Class Library JDK ์ค์น ๋ง์ ๊ณต๊ณต๊ธฐ๊ด๊ณผ ํ๋ก์ ํธ์์ 1.8์ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ์ถ์ธ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ JDK8 (jdk1.8)์ ๋ค์ด ๋ฐ๋๋ค. (ํ๋ก์ ํธ๋ง๋ค ๋ค๋ฅด๊ฒ ๋ค์ด๋ฐ์ผ๋ฉด ๋๋ค!) https://www.oracle.com/java/technologies/javase-downloads.html 1. ๋ด PC ์ค๋ฅธ์ชฝ ๋ฒํผ - ์์ฑ - ๊ณ ๊ธ ์์คํ
์ค์ - ํ๊ฒฝ๋ณ์ - ์์คํ
๋ณ์์์ ์๋ก ๋ง๋ค๊ธฐ 2. Path - ํธ์ง - ์๋ก๋ง๋ค๊ธฐ %JAVA_HOME%\bin - ํ์ธ : cmd์ฐฝ java -version ๋ฒ์ ์ด ์ถ๋ ฅ๋๋ฉด ์ฑ๊ณต apache tomcat ์ค์น http://tom..
2020/05/16 - [WEB/Spring] - ์ด๋ฏธ์ง ์
๋ก๋ (Spring+Ajax) ์ด๋ฏธ์ง ์
๋ก๋ (Spring+Ajax) Hyper ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๊ณผ์ ์ค ์ด๋ ค์ํ๋ ํ์ผ ์
๋ก๋์ ๋ํด์ ๋ค์ ๊ณต๋ถํ๊ฒ ๋์๋ค. commons-fileupload๋ฅผ ์ฌ์ฉํ์๊ณ pom.xml์ ์ถ๊ฐํด์ค์ผ ํ๋ค. Ajax๋ก ๊ตฌํํด์ผ ํ๋ Controller์ @ResponseBody๋ฅผ ๋ถ. aejeong.com ์ด์ด์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๊ตฌํํ๊ฒ ์ต๋๋ค. var upload = document.querySelector('#file'); upload.addEventListener('change',function (e) { var get_file = e.target.files; var selected_file = upload.fi..
Hyper ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๊ณผ์ ์ค ์ด๋ ค์ํ๋ ํ์ผ ์
๋ก๋์ ๋ํด์ ๋ค์ ๊ณต๋ถํ๊ฒ ๋์๋ค. commons-fileupload๋ฅผ ์ฌ์ฉํ์๊ณ pom.xml์ ์ถ๊ฐํด์ค์ผ ํ๋ค. Ajax๋ก ๊ตฌํํด์ผ ํ๋ Controller์ @ResponseBody๋ฅผ ๋ถ์ฌ์ค์ผ ํ๋ค ์ด๊ฑฐ ๋ํ ์ฌ์ฉํ๋ ค๋ฉด pom.xml์ jackson-mapper๋ฅผ ์ถ๊ฐํด์ค์ผ ํ๋ค. pom.xml์ ์ถ๊ฐํด์ผ ํ ๊ฒ. (mvnrepository.com) 1. commons-fileupload 2. jackson-mapper ์ ์ผ ๋จผ์ ํ์ผ ์
๋ก๋๋ฅผ ๊ตฌํ ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ๊ฒ ๋ค. 1. spring ํด๋์์ xxx-context.xml ์ ํ์ผ ๋ฆฌ์กธ๋ฒ๋ฅผ ์ง์ ํด์ค์ผ ํ๋ค. + application / servlet -context์ ์ฐจ์ด ๋๋ณด๊ธฐ ์ด ๋ ..
์ฌ์ฉ์ ์ ์ฒด ์กฐํ๋ฅผ ํด๋ณด์๋ค. ์ฒ์ ์ฌ์ฉํด๋ด์ ์ฝ์ง์ ์กฐ๊ธ ํ๋๋ฐ ์ฌ๋ฏธ์์๊ณ , ๋ฌด์๋ณด๋ค ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ํํํ ์ ์๊ณ ๊ธฐ๋ฅ์ด ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ์ ์ ์ตํ๋ค. ๋จผ์ ์ฌ์ฉํ๋ ค๋ฉด ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํด์ค์ผ ํ๋ค. www.cdn.datatables.net/1.10.21/css/jquery.dataTables.min.css www.cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js HTML ์ฝ๋ ์ฌ์ฉ์ID ์ฌ์ฉ์ ์ด๋ฆ ์ ํ๋ฒํธ E-mail ๊ถํ JavaScript ์ฝ๋ $(document).ready(function() { $("#deviceTable").DataTable({ "pageLength": 10, ajax:{ url:"./userAll.do", type:"GET"..
1.ํฐ์บฃ ์ธ์
์ ์ฌ์ฉํ๋ค. - ๊ธฐ๋ณธ ์ ํ๋๋ ๋ฐฉ์์ด๋ค. - WAS์ ์ ์ฅ๋๋๋ฐ 2๋์ด์์ WAS๋ก ๊ตฌ๋๋๋ ํ๊ฒฝ์์๋ ์ถ๊ฐ ์ค์ ์ด ํ์ํ๋ค. 2.MySQL๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ธ์
์ ์ฅ์๋ก ์ฌ์ฉํ๋ค. - ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ด๋ค. - ๋ก๊ทธ์ธ ์์ฒญ์ DB IO๊ฐ ๋ฐ์ํ ์ ์๋ค. 3.Redis ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ DB๋ฅผ ์ธ์
์ ์ฅ์๋ก ์ด์ฉํ๋ค. ์ฌ์ฉ๋ฃ๋ฅผ ์ง๋ถํด์ผํ๋ค! ์๋น์ค๊ฐ ์ปค์ง๋ ๊ณ ๋ ค! 'org.spirngframework.session:spring-session-jdbc' ๋ฅผ gradle์ ๋ฑ๋กํด์ฃผ๊ณ application.prorperties์ spring.session.store-type=jdbc ๋ง ๋ฑ๋กํ์ฃผ๋ฉด jpa๊ฐ ์ธ์
ํ
์ด๋ธ์ ์๋์ผ๋ก ์์ฑํ์ฌ ์ธ์
์ ์ฅ์๊ฐ ์ง์ ๋๋ค!
Enum์ ํตํด ์ป๋ ๊ธฐ๋ณธ์ ์ธ ์ฅ์ ๋ฌธ์์ด๊ณผ ๋น๊ตํด, IDE์ ์ง์์ ๋ฐ์ ์ ์๋ค. ์๋์์ฑ, ์คํ๊ฒ์ฆ, ํ
์คํธ ๋ฆฌํฉํ ๋ง ๋ฑ ํ์ฉ ๊ฐ๋ฅํ ๊ฐ๋ค์ ์ ํํ ์ ์๋ค. ๋ฆฌํฉํ ๋ง์ ๋ณ๊ฒฝ ๋ฒ์๊ฐ ์ต์ํ ๋๋ค. ๋ด์ฉ์ ์ถ๊ฐ๊ฐ ํ์ํด๋, Enum์ฝ๋์ธ์ ์์ ํ ํ์๊ฐ ์๋ค. Java Enum์ธ ๊ฒฝ์ฐ int๊ฐ์ด ์๋๋ผ ์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ง ํด๋์ค์ด๋ค! ์ฐ์ enumํ์
์ผ๋ก ํด๋์ค๋ฅผ ์์ฑํด์ผํ๋ค ์ด์ ์์๋ฅผ ์ ์ธํ๋ฉด ๋๋๋ฐ, ๊ด๋ก์ ์ผ๋ก ๋ชจ๋ ๋๋ฌธ์๋ก ์์ฑํ๋ค. Entityํด๋์ค์ ์ ์ธํด์ฃผ๊ธฐ ์ํด์ String์ด ์๋ enum์ ์ ์ธํ๋ค. JPA๋ฅผ ์ฌ์ฉํ๋ฏ๋ก @Enumerated(EnumType.SPRING)์ ์ ์ธํ๋ฉด Enumํ๋๊ฐ ํ
์ด๋ธ์ ์ ์ฅ์ ์ซ์ํ์ด ์๋, Enum์ ์ด๋ฆ์ด ์ ์ฅ๋๋ค. ์ฌ๊ธฐ์๋ GUEST,USER..
๊นํ๋ธ์ ์ต์ํ์ง ์์์ ์๊พธ ๋ญ๊ฐ ํ์ด์ง๋์ง non-fast-forward ์ค๋ฅ๊ฐ ์์ฃผ ๋ฌ๋ค..... ใ
ใ
ใ
ใ
์ผใ
์ผ์์ผใ
ใ
Advanced...๋ฅผ ๋๋ฌ์ ๊ธฐ์กด์ ์๋๊ฑฐ ํด์งํต ๋๋ฌ์ ์ญ์ ํด์ค๋ค์์ Source ref์ master๋ก ์ถ๊ฐํด์ค๋ค. ๋ง์ง๋ง์ผ๋ก Marge์์ผ์ฃผ๊ณ Push!
์คํ๋ง ์ํ๋ฆฌํฐ๋ ๋ง๊ฐํ ์ธ์ฆ๊ณผ ์ธ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง ์คํ๋ง ํ๋ ์์ํฌ์ด๋ค. ์ธ์ฆ์ด๋, ๋ณดํธ๋ ๋ฆฌ์์ค์ ์ ๊ทผํ ๋์์ ๋ํด ๋๊ตฌ์ธ์ง, ์์
์ ์ํํด๋ ๋๋์ง ํ์ธํ๋ ๊ณผ์ ์ด๋ค. ์ธ๊ฐ๋, ์ธ์ฆ ์ดํ์ ํด๋น ๋ฆฌ์์ค์ ๋ํด ์ ๊ทผ ๊ฐ๋ฅํ ๊ถํ์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํ๋ ๊ณผ์ ์ด๋ค. ๋ณด์๊ณผ ๊ด๋ จํด์ ์ฒด๊ณ์ ์ผ๋ก ๋ง์ ์ต์
์ ์ ๊ณตํด์ฃผ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๊ฐ ์ผ์ผ์ด ๋ณด์ ๊ด๋ จ ๋ก์ง์ ์์ฑํ์ง ์์๋ ๋๋ค. ๊ตฌ๊ธ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ ๊ตฌํํด๋ณด์! https://console.cloud.google.com/ ๋ก ์ ์ํด์ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค. ํ๋ก์ ํธ๋ฅผ ์ ํํ ํ API ๋ฐ ์๋น์ค -> ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด OAuth ํด๋ผ์ด์ธํธ ID ํด๋ฆญ! ๋์ ํ๋ฉด ์ค ์ธ๋ถ/๋ด๋ถ๊ฐ ์๋๋ฐ ์ธ๋ถ๋ฅผ ํด๋ฆญํ๋ค. ์ ํ๋ฆฌ์ผ์ด์
์ด๋ฆ : ์ฌ์ฉ์์๊ฒ ๋
ธ์ถ๋ ์ ํ๋ฆฌ์ผ์ด..