본문 바로가기

CLASS265

#1-3 / springboot 기본형태 + coupon insert,delete 및 boot정리.. 👀 coupon insert 예제;  -> 직전 setting 및 list 예제에서 넘어옴 - coupon_write.jsp [ 쿠폰 등록페이지 ] 쿠폰명 : 쿠폰할인율 : 쿠폰사용여부 : 사용함 사용안함 쿠폰사용기한 :    - mapper.xml select * from coupon order by cidx desc insert into coupon values ('0',#{cpname},#{cprate},#{cpuse},#{cpdate},now());    - coupon_repository.java package kr.co.sen;import java.util.List;import org.apache.ibatis.annotations.Mapper;import o.. 2024. 8. 12.
#1-2 / springboot 기본형태+ coupon list - dbinfos.javapackage kr.co.sen;import javax.sql.DataSource;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.jdbc.DataSourceBuilder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;//@configuration : config.xml을 안쓰겠다!.. 2024. 8. 12.
#1-1 / springboot setting 👀 [ Spring-boot  ]spring이 upgrade 됨 (Database) springPOJO 프로그램 (순수 Java를 통해서 생성한 객체 형태)AOP PSA - 추상화 : mysql,Oracle, MariaDB => config,mapper,dbconfig...  (가장 크게바뀜)loc/DI - 의존성 주입 (@resource, @repasitory.. 이런것들... ) spring-bootPSA -> sqltemplatepom.xml => 기본으로 spring project 생성시 instance에서 관리db connection이 눈에 안보임interface 사용 多spring reactive web : react와 같이 사용 / spring web services : SOAP 기반 (주.. 2024. 8. 9.
⭐ server - cloud 정리 👀 1단계. Server 구축 도면[Cloud] - 본서버 window or Linux  -Centos,Suse,UBuntu용량이 커야함본서버엔 Docker,SHH만 설치함 (ftp,mysql..등은 docker에 설치)→ (SHH는 걍 외부접속 되는지 확인하는용도) 🔽 Server User 추가 (ex - pensionlife 프로젝트 , logistics 프로젝트 ) 🔽   pensionlife 팀Ubuntu OS (이미지) - Docker Server container이름 : pensionlife logistics 팀CentOS8 (이미지) - Docker Servercontainer이름 : logistics👀 2단계. Cloud Setting 방식 각각 세팅 따로 진행 1. pensionl.. 2024. 8. 9.
docker-3 👀 컨테이너 생성시 port를 동시에 오픈하며 생성하는 방식 (일일히 하기 귀찮으니까) 우리가 할 포트포워딩 ( ip : 192.168.11.3 )[ Cloud - project3 ]  : JDK-17SSH : 7022FTP : 7021TomcatNginxApache  master  project3이라는 container 생성오타나면 절대  xxxxx => -p ~ 2개 열어줌 : 7022,7021docker run -p 192.168.11.3:7022:22 -p 192.168.11.3:7021:21 --privileged --name project3 -d 이미지이름 /sbin/init ( 포트포워딩을 하지 않으면 외부에서 접속할 방법이 없다 ! )  docker start project1 netsta.. 2024. 8. 9.
docker-2 [aws - ec2] - pass(도메인)docker teamproject pension mini 쇼핑몰 - springtemproject1 - springtemproject2 - springboot [ project1 ]  - containerCentOs 7 => springboot(JDK 17~), mysql, ftp, nginx, react ,postgresql ...  👀 Docker os 및 프로젝트 관련 데몬 전체 설치 형태 - docker 안에 또 운영체제등... 이것저것 깔기( docker 다 삭제하고 다시 start ) docker pull centos:7 : centos 버전 7 다운 (운영 체제만 다운받음 => docker images로 확인): 버전 작성 안할시 latest 가 다.. 2024. 8. 8.
jstl - I/O 사용시 /WEB-INF/spring/appServlet/servlet-context.xml 에 해당 코드 추가 //2메가까지 받음 2024. 8. 6.
게시판 작업시 체크 if 공지사항 리스트 API 주소API 접속코드GET,POST , Ajax => 동기,비동기배열 key,일반배열 Javascript,React,Vue,ECMA.. 출력게시판 리스트 내용보는 경우게시판 내용을 수정 (Patch)게시판 삭제 (Delete)게시판 글쓰기 (Put,Post)HTTP 메소드 5요소GET , POST , PUT , PATCH , DELETE   🔼key 역할🔽CORSRestAPIResutfulAPIjson 🔼🔽DATABASE 2024. 8. 6.
#11-2 / JSTL-paging(font-end) 👀 back가 api 서버 구축 => front에서 찍는 방식  https://dev-eunse.tistory.com/255=> 요거랑 동일한 db 갖구 놀거임  - controller - @GetMapping("/pay/coupon_api.do")@Controllerpublic class pay_controller { //CORS방지 필수로 넣어줘야함 @CrossOrigin(origins = "*",allowedHeaders = "*") @GetMapping("/pay/coupon_api.do") public String coupon_api(HttpServletResponse res) throws Exception{ res.setContentType("text/html;charset=utf-8");.. 2024. 8. 6.
#11-1 / JSTL-paging(back-end) 👀 back-end에서 처리  * addAllAttributes : Object메서드 배여로간련 객체를 차례대로 추가하는 방식단점 - 2차 배열로 jsp 전달시 문제 발생 (2차배열 인식 불가)=> 2차배열시 addAll~로 찍지 말고 걍 addtAttribute로 찍으세욤기타-pg 예제에서 사용함출력방식 : m.addAllAttributes(Arrays.asList(배열))  =>  ${stringList.get(0)}  or ${stringList[0]} * mergeAttributes map과 관련됨 - dbinfo.javapublic class dbinfo { public Connection info() throws Exception { String db_driver= "com.mysql.cj.. 2024. 8. 6.
docker-1 👀 setting   👀 다날라감 .. 짜증 ㅇㄹㄹㄹㄻㄴㅇㄻㅇㄴㄹ docker container ps -amaster 4 docker -v 5 docker login 6 systemctl status docker 7 docker version 12 docker search apache 13 docker search mysql 15 docker search java 16 docker search node 17 docker search mysql 18 docker search react 19 docker search postgresql 20 docker images 25 docker pull nginx 27 docke.. 2024. 8. 5.
CentOS-3 / tomcat 설치 ❗ 정리 ❗  [ Cloud ] + Docker서버 비용 ↓Linux 서버 기본 ( window X )CentOs는 무료 (Oracle,Mysql,MariaDB, Nosql.. 등 세팅 가능해서 이거 주로 씀)CentOs7,8 - 공식적인 서비스는 종료되었으나 Daum(Kakao)로 사용CentOs9 - 용량 너무 큼Linux + APM => Web Servie 이게 정통AWS,Naver,Google...Aws - EC2 (Sass, Pass, Lass - 자동설치 x 하나하나 설치해야함)Naver - Server (사용자가 직접 모든 내용을 custom 가능 - 자동설치)Google - cloud ( Console 위주의 셋팅 방식 - 무료 (90일 경과후 종료) or 유료 )( 자동설치 x 하나하나 .. 2024. 8. 2.
CentOS-2 / mysql 연결 root로 putty 접속 후 systemctl start httpd systemctl start vsftpd로 http,ftp 가동 하면 인터넷 접속,ftp 접속 됨 [ root로 접속한 다른 ip 강제로 끊어버리기 ] [ 용량 확인 ]  [ 각각의 페이지 띄우기 ] 맨 마지막에 추가include /etc/httpd/conf/vhost.conf AllowOverride None Require all granted  ..생략...[root@localhost conf]# vi vhost.conf ===> 요파일 수정 :wq ServerAdmin 메일ㅎ@gmail.com DocumentRoot /home/hana/public_html ServerName 192.168.162.3 ServerAlias 192.. 2024. 8. 1.
#10-2 / 사용자 정보 찾기 👀 아이디찾기,패스워드 변경 - user_dao.javapackage com.navershop.www;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class user_dao { int uidx; String uid,upass,uname,ujoin,umail;} - search_user.jsp 아이디 찾기 고객명 : 가입 이메일 : 패스워드 찾기 아이디 : 고객명 :  - config.xml - mapper.xml select * from user where uname=#{uname} and uemail=#{uemail} where uid=#{uid} and uname.. 2024. 7. 29.
#10-1 / 패스워드를 md5형태로 변환 👀 1. @Repository ~ @Resuource❓ md5 : 회원가입,로그인,패스워드 변경, 1:1문의, 자유게시판, 상품구매내역확인....등에 사용 - user_dao.javapackage com.navershop.www;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class user_dao { int uidx; String uid,upass,uname,ujoin;}   - md5_pass.java//패스워드를 md5형태로 변환하는 메소드@Repository("md5pass")public class md5_pass { public String md5_making(String upass) { StringBuilder sb = n.. 2024. 7. 29.
CentOS-1 https://www.virtualbox.org/wiki/Downloads  - 설치https://vault.centos.org/7.7.1908/isos/x86_64/ -  CentOS-7-x86_64-DVD-1908.iso 다운 - 전부다 CUI( Command User Interface )형태   [ OS - Linux ] - Docker 사용    RedHat (유료) - Centos (무료)- Fedora (무료)=> 셋 다 똑같은 디렉토리에 똑같은 명령어.. 다 똑같다고 생각하면 됨Ubuntu (임베디드) - 무료(Git,Node.js)Suse  [ OS - Windows Server ] - 유료(비쌈) , Docker 사용 X-엄청비싸짐OS,Mysql 각 라이센스 별도 [ OS - IBM,HP.. 2024. 7. 29.
#9-3 / Session 등록시 주의사항 @PostMapping("/loginok.do")public String loginok(String mid,HttpServletRequest req) { HttpSession session = req.getSession(); session.setAttribute("mid", mid); //일반 쇼핑몰 기준 페이지 이동 없을 때 유지시간 30분 지정 //-> 해당 부분이 없으면 페이지 몇번 이동하다보면 계속 로그아웃 발생해서 에러 발생할 수 있음 session.setMaxInactiveInterval(1800); //1800초 : 30분 System.out.println(mid); return null;} @PostMapping("/loginok.do".. 2024. 7. 28.
#21-1 / front에서 JSON 전송 => Ajax , @ResponseBody ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐@ResponseBody값을 다시 되돌려 보낼땐 이걸 꼭 mapping 아래 작성 해야함!!!!!!!  ❗ post : data를 front에서 보내고 다시 돌려받을게 없는 경우get : 주고 받아서 front에서 출력해야하는 경우엔 필히 get 사용  ❗ ajax 통신 - CORS방식 무조건 넣어줘야함! (CORS 무조건 핸들링해야함)@CrossOrigin(origins="*", allowedHeaders = "*")   👀 @GetMapping- jsp  =>  join : JSON.stringfy 형태로 변화  - controller@CrossOrigin(origins="*", allowedHeaders = "*")@GetMapping("/ajaxok.do.. 2024. 7. 26.
#1-1 / Git Bash 명령어 , GitHub 연동 ❗ 한 pc에 두개 연결 안됨  ⭐ git bash 들어와서 ->   $ git init   (필수!) ⭐ : github사이트에 있는 파일과 현재 IDE Project를 동기화하는 디렉토리를 파악하는 작업: 해당 폴더 안에 git 폴더가 생성되고 username,email이 저장됨..   ( 👀- local 사용하는 방식 , global 은 다름 ! )global : user.name 또는 user.email 이 전역 형태의 사용자내 pc의 모든 디렉토리가 잡힘전역 형태 사용시 지역형태 사용 불가( global 작성 안할경우 - 해당 디렉토리에 한해서만 적용됨 )   👀 [ 사용자 조회,추가,삭제 ] user.name : git에서 사용하는 사용자 이름user.email : git에서 로그인하는 이.. 2024. 7. 25.
☀ mybatis - mapper ☀ 👀 SELECT   select * from userpoint order by uidx desc select * from userpoint where uidx=#{aa} order by uidx desc select count(*) as ctn from rainfall where today=#{today} select * from notice n_subject like concat('%',#{search_word},'%') or n_text like concat('%',#{search_word},'%') n_subject like concat('%',#{search_w.. 2024. 7. 25.
#9-2 / notice list + category 검색기능( 동적 query문 ), delete 👀 start 시 파일 생성 👀  - notice table - daopackage api;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class notice_dao { int nidx; String n_title,n_pass,n_subject,n_text,n_date;}=> // config.xml 에 해당 dao 연결 추가   - controller@Controllerpublic class notice_controller { @Resource(name="notice") private notice_module nm;} - modulepackage api;import javax.annotation.Resource;import org... 2024. 7. 24.
별도의 config, mapper를 사용하는 방식 - dbconfig.xml 에  🔽mapper2.xml , config2.xml 새로 생성 2024. 7. 24.
#9-1 / ☔ - 통계차트 수정,삭제 페이지 /*--------------------- 수정 ----------------------*/ 1. mapper.xml  - list 출력시 만들어 놓은 일일데이터만 출력하는 mapper 재사용! select * from rainfall where today=#{today};  2. Module - list 출력시 만들어 놓은 일일데이터만 출력하는 모듈 재사용!public rainfall_dao ajax_today(String today) { rainfall_dao dao = tm.selectOne("datadb.rain_select_ajax",today); return dao;} 3. @Controller - @GetMapping("/rainfall/rainfall_modify.do")@.. 2024. 7. 24.
#8-3 / ☔ - 통계차트 출력 페이지(list) , ajax(SPA)+do 강우량 통계차트 출력페이지 (SPA) - ajax (jQuery) 로 핸들링 할거임 모든데이터의 날짜값을 가져와서 jsp의 select에 뿌려줌(최초 접속시 오늘 날짜를 back-end로 전송backend에서 해당 날짜를 이용해 데이터 추출 -> front로 session storage 세팅 )=> select 가 바뀔때마다 해당 함수 작동  /*--------------------- 일자별 리스트 값을 가져오는 part (select 에 날짜 뿌려주는 용도)-----------------------*/ 10. mapper.xml  해당 쿼리문 추가 - 모든 데이터의 날짜값만 가져오기 select today from rainfall order by ridx desc; 11.Controller//아래 통.. 2024. 7. 23.
#8-2 /☔ 통계 data 관련 project 만들기 - selectOne(ajax),insert [ 쓰기, 출력, 수정, 삭제 ] 다 만들거임 1. database table 생성 (서울, 경기도, 세종, 대전, 강원도)날짜가 unique key가 되어야함//강우량 tablecreate table rainfall(ridx int(8) not null auto_increment,today date not null default '0001-01-01',area_part1 char(3) not null, //int로 하면 강우량이 0일경우 안들어감area_part2 char(3) not null,area_part3 char(3) not null,area_part4 char(3) not null,area_part5 char(3) not null,primary key(ridx),unique key(today.. 2024. 7. 23.
#8-1 / point table => Module #7에서 만든 point table 가지고 놀거임 👀 [ 진짜 제작 순서 ]table 설계DAO 설계ControllerView ModuleController가 Module 호출 후 Databae return받음Controller가 View(JSP)로 Data 를 이관함=> 여기서 구조를 하나라도 어기면 안됨 ⚡ MVC 형태의 template을 이용한 리스트 출력 - selectList❗ template 은 close() ❌- Controllerpackage api;//~import 생략@Controllerpublic class adminmain3 { @Resource(name="pointmodule") //pointmodule 모듈 호출하는놈 private point_module pm; //윗줄(@.. 2024. 7. 23.
#7-3 / mybatis DB연결 - 포인트 (insert, select ,select one,delete) 1. userpoint table 생성 create table userpoint( uidx int(5) not null auto_increment, uid varchar(100) not null, uname char(100) not null, upoint int(5) not null, udate timestamp not null default current_timestamp(), primary key(uidx) ); 2. DAO 생성  - pointdao.java  package api;import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class pointdao { int uidx,upoint; String uid,uname,udate;} 3.. 2024. 7. 22.
#7-2 / mybatis(ibatis)를 이용 DAO + config,mapper,xml DB연결 ⚡ insert 테스트dbcong.xml 의 하단 bean id="template" 여긴 아직 사용 x - 주석처리 한 뒤 테스트- /META-INf/config.xml //이름 맘대로 - /META-INf/mapper.xml //이름 맘대로 //이름 맘대로 insert into coupon (cidx,cpname,cprate,cpuse,cpdate,indate) values ('0',#{cpname},#{cprate},#{cpuse},#{cpdate},now()) - @Controller @Injectprivate SqlSessionFactory sqlfact;/*@Resource //어디선가 쓸거임 아직 x private SqlSessionTemplate sqlsession;*/@GetMa.. 2024. 7. 22.
#7-1 / Mybatis 설치 및 Setting 👀 [Mybatis]DB Connection ,spring DB의 DDL을 빠르게 처리해주는 대표 라이브러리- mybatis / mybatis-spring / javax.inject  3개 다운- Controller가 너무 무거워짐을 방지- Mybatis 사용시 Connection 사용하지 않음config.xmlJAVA의 DAO(getter,setter)  => 얘가 없으면 db연결조차 못함,모든 DAO가 여기 다들어감mapper.xml모든 DDL이 여기 다들어감 .. 등 => 이 두개에 다 몰아져있어 유지보수 용이 , 이 두개가 Controller의 보조역할을 한다...? DB  Module ( DAO or VO / Data DDL Module 을 포함 )DAO or VO : config.xml.. 2024. 7. 19.
CORS 연습방법 1. 브라우저 : localhost:8080/~2. ajax : http://ip숫자.ip숫자.ip숫자:8080 /~   =>  www만 없어도 도메인이 다른걸로 인식함 2024. 7. 19.