월 17,600원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
Spring Boot에서 jsp 연동 오류
안녕하세요 선생님,Spring framework로 jsp를 사용하려고 강의(강의명 : Spring framework의 천하통일)를 따라 진행하는데 도무지 해결할 수 없어 질문으로 남깁니다! 모든 코드는 복사붙여넣기하여 선생님과 동일하나 결과는 아래와 같습니다...어떻게 해결할 수 있을까요?(Java 1.8, JDK 8) 상황설명jsp 설정을 위해 implementation을 추가하고 새로 로드하였는데 아래와 같은 로그가 출력되었습니다.이 상태에서 애플리케이션을 실행하면 나오는 로그
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
7장 insert mapper erro 문의합니다
매개변수 strCoffee를 찾지 못하고있습니다.org.apache.ibatis.binding.BindingException: Parameter 'strCoffee' not found. Available parameters are [srtCoffee, strPrice, param3, strKind, param1, param2] menu_ins.html에서 menuCon으로 값이 넘어오는 것은 log로 확인 가능했습니다.service - dao - mapper 어디간에서 문제가 발생한 것 같은데 알 수 없어서 문의드립니다.https://drive.google.com/file/d/17keZ7jdiYPMen9Q_4I0ADqzlxplzidKF/view?usp=drive_link구글드라이브 링크 추가했습니다. 감사합니다.
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
선생님 혹시 파일업로드도 알려주실수있나여?
재귀함수로 파일 삭제하고 머 다시 추가하고 머하는거있던데 잘모르겠습니다이런것도 선생님 강의 올려주시면 좋을거 같아여 public void delFolderTrigger(String relativePath){ delFolder(uploadPrefixPath +relativePath); } // 처음에 폴더 페스가 들어가야함 public void delFolder(String folderpath) { //폴더 아래에 폴더 및 파일 삭제 , 보냈는 폴더는 삭제 안함 File folder = new File( folderpath); // 폴더가 존재하는지 묻는다 if (folder.exists()){ // 처음부터 다 객체화가 되서 리스트 로 넘어간다 File[] files = folder.listFiles(); // 재귀 함수 스택 이라 생각하면됨 // 일단 폴더 안에 다드가서 파일다지우고 그담 폴도 // 그담 계속 반복 for(File file : files) { if(file.isDirectory()) { delFolder(file.getAbsolutePath()); } else { file.delete(); } } folder.delete(); } } } public UserPicPatchDto patchUserPic(MultipartFile pic) { UserPicPatchDto dto = new UserPicPatchDto(); dto.setIuser(authenticationFacade.getLoginUserPk()); String target = "/user/"+dto.getIuser(); myFileUtils.delFolderTrigger(target); String saveedPicFileNm = myFileUtils.transferTo(pic,target); dto.setPic(saveedPicFileNm); int affectedRows = mapper.updUserPic(dto); return dto; }
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
선생님 혹시 세션하고 쿠키 부분 언제쯤 올려주실수있나여?
백엔드 로그인할때 쿠키하고 세션을 써야 하는데 선생님 강의를 보면서 하고싶습니다좀 알려주시면 안되나여? 언제쯤 하는지 알고 싶습니다
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
스프링 부트 2.x 버전 지원 중단, myBatis 추가가 안돼요
https://start.spring.io/사이트에서 더 이상 2.7x 버전을 지원하지 않는 것 같습니다. 인텔리제이에서도 마찬가지로 선택이 안되서3.2 버전으로 하고 있기는 한데 myBatis가 설치지원이 안되서초반에 설치하다가 강의가 막혔어요.. 추후에 myBatis로 dm 연결을 하는 것 같은데어떻게 해야 할까요??
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
커뮤니티 버전에서 스프링 부트를 선택할수 없습니다.
이경우에는https://start.spring.io/ 에서 생성해서 파일을 올리면되나요??동일하게 수업을 따라갈 수 있을까요?처음부터 막히네요 ㅠㅠ 도와주세요
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
안녕하세요 Ajax강의 잘듣고있습니다. 다름이 아니라 Ajax로 검색할떄 시작일이나 종료일 고객명과 같은 검색조건을 어떻게 구현해야하는지 고민을해보다 질문드립니다.
package com.boot.sailing.v3.controller; import com.boot.sailing.v3.service.MemberSvc; import com.boot.sailing.v3.vo.Cust_info; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.List; @Slf4j @RestController @RequestMapping ("/v3") public class MemberAjax { @Autowired MemberSvc memberSvc3; @RequestMapping("/member_searchAjax") public List<Cust_info> list( @RequestParam("start_date") String strStartDate, @RequestParam("end_date") String strEndDate, @RequestParam("name") String strName, Model model ) { List<Cust_info> list = memberSvc3.doSerch(strStartDate,strStartDate,strName ); return list; } } $(document).ready(function(){ // 조회버튼클릭 $.ajax({ url : "/v3/member_searchAjax", // 파일경로 method : "GET", // GET, POST contentType : "application/x-www-form-urlencoded", //data : _data, // 서버에 전달할 Parameter dataType: "json", // 서버에서 전달받을 Data 형식 async: false, // 비동기사용여부 true , false success : function(data) { // 성공시 실행 (java try) , JSON.parse 자동적용 RespData console.log(data) let _contents=null; for(let i in data) { _contents += '<tr>\n' + ' <td><input type="checkbox" name="chkCoffeeNo" value="' + data[i].no + '"></td>\n' + ' <td>Ajax' + data[i].no + '</td>\n' + ' <td>' + data[i].cust_id + '</td>\n' + ' <td>' + data[i].name + '</td>\n' + ' <td>' + data[i].email + '</td>\n' + ' <td>' + data[i].role + '</td>\n' + ' <td>' + data[i].reg_day + '</td>\n' + ' </tr>' } $("#t_body").html(_contents); }, error:function(request,status,error){ // 오류시 실행 (java catch) console.log("code = "+request.status +"message = "+ request.responseText +"error = "+ error); }, complete : function (){ // 성공/실패와 상관없이 실행 (java finally) console.log("Finish") } }); }); 고객정보부분에 제가 따로 검색기능을구현시도해보았습니다.
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
DB 생성시 발생 에러 관련! "Can't create table" "Error No 150. "Foreign key constraint is incorrectly formed")
선생님께서 올려주신 SQL 문 기준으로 확인해보니 하기와 같습니다.SQL 문에서 order_list 테이블에는 VARCHAR(100) 타입의 cust_id 열이 있으며, 이것은 cust_info 테이블의 cust_id 열을 참조하려고 합니다. 이 cust_id 열도 VARCHAR(100) 타입입니다. 따라서 데이터 유형이 일치하므로 이건 패스...그러나 외래 키에는 기본적인 규칙이 있고, 해당 규칙은: 참조하려는 열(상위 테이블의)은 고유 제약 조건을 가져야 하거나 기본 키여야 합니다. cust_info 테이블에서 cust_id 열은 고유 제약 조건이 없습니다.이 문제를 해결하려면 cust_info 테이블의 cust_id 열에 고유 제약 조건을 추가해야 합니다. 다음과 같이 할 수 있습니다:ALTER TABLE cust_info ADD UNIQUE (cust_id);위의 문장을 실행한 후 외래 키를 추가하기 위해 ALTER TABLE 문을 실행할 수 있습니다:ALTER TABLE order_list ADD CONSTRAINT fk_cust_id FOREIGN KEY (cust_id) REFERENCES cust_info(cust_id);이 단계를 거치면 해당 제약 조건에 대한 "Foreign key constraint is incorrectly formed" 오류를 더 이상 만나지 않아야 합니다. 즉 cust_info의 cust_id를 유니크 상태로 만들고 나서 늦부장님께서 올려주신 DB작성하면 해결 됩니다.
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
int i = menuService.doInsert(coffee,kind,price); 이 코드 질문있어요
혹시 변수타입이 왜 int인지 알 수 있을까요?
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
@Data 인식 문제
계속하여 아래와 같이 getNo()을 인식하지 못하는 오류가 발생하고 있습니다.Method getNo() cannot be found on type com.example.demo.v2_VO.VO.Order_list 그래서 한참을 해맨 후에 vo의 @Data가 Getter의 기능을 하지 못하고 있는 것을 알게되었습니다.일일이 getter를 만들어주니까 돌아가더라구요... 그래서 lombok의 문제로 생각하고 롬복을 설치하고 외부 라이브러리를 추가해주는 식으로 해결하려고 하였습니다. 이렇게 조치를 해도 계속 오류가 나더라구요.. 혹시 김부장님께서는 이런 경우 다른 방법으로 문제를 해결하신 적 있으신가요?
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
mybatis 조회하기(7-2강) 실습시 오류가 발생합니다.
안녕하세요. 강의대로 실습한 후 실행시 오류가 발생해서 질문드립니다. 맥에서 실습중이기 때문에 하이디sql 사용이 불가하여 sequel pro로 대체하여 mariadb를 이용하고있는데, 이부분에서 연결이 잘못된 건지, 아니면 제가 실습을 따라가다 다른 실수가 있었던 건지 잘 모르겠습니다. 다른 분들께서 하신 질문들과 구글링 했을 때 제 생각에는 그래도 DB연결은 된 것 같은데 어떤 부분을 수정해야 할 지 도와주시면 감사하겠습니다. 오류 내용 : Invalid bound statement (not found): com.boot.sailing.v1.dao.MenuDao.doList [MenuCon]package com.boot.sailing.v1.controller; import com.boot.sailing.v1.service.MenuSvc; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Controller public class MenuCon { @Autowired MenuSvc menuSvc; @RequestMapping("/v1/menu") public String doMenu(Model model){ // Data 만들기 , List , Map List<Map<String, Object>> list = menuSvc.doList(); // Data 송부 model.addAttribute("list", list); model.addAttribute("hello", " ========== MenuCon ======== "); return "/v1/menu/menu"; } } [CoffeeMenu.xml]<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "https://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.boot.sailing.v1.dao.MenuDao"> <!-- 메뉴조회 --> <select id="doList" resultType="map"> SELECT no, coffee, kind, price, DATE_FORMAT(reg_day,"%Y, %m, %d") AS reg_day, DATE_FORMAT(mod_day,"%Y, %m, %d") AS mod_day FROM coffee_menu; </select> </mapper> [MenuSvc] package com.boot.sailing.v1.service; import com.boot.sailing.v1.dao.MenuDao; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Service @Log4j2 public class MenuSvc { @Autowired MenuDao menuDao; public MenuSvc() { log.info("================ MenuSvc , 생성자 ==================="); } public List<Map<String, Object>> doList(){ List<Map<String, Object>> list = menuDao.doList(); log.info(list); return list; } } [application.yaml] spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/boot username: boot password: boot --- # Configuration mybatis mybatis: mapper-locations: classpath:sqlmapper/**/*.xml [MenuDao]package com.boot.sailing.v1.dao; import org.apache.ibatis.annotations.Mapper; import java.util.List; import java.util.Map; @Mapper public interface MenuDao { List<Map<String, Object>> doList(); }
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
@RequestParam
제가 이해한 게 확신이 안 들어서 질문드립니다. @RequestParam은url을 통해서 데이터를 전달하는 방식인 거죠? 즉vi/menu_up?no=8처럼이렇게 데이터를 ?뒤에서 key=value 형식으로 나르는 거죠? 그리고 html에서 링크를 /v1/menu_del(no=..) 이런 식으로 지정하거나,html 태그 form+input이 저런 url을 만들어주는 거죠? (태그 안에 action="/v1/menu_ins"을 적어줄 경우 그 뒤 url에 ?no=8 이런 식의 데이터를 붙여주는 거죠?)
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
수업내용과 어느정도 일치하지만 좀 다른게 궁금해서 문의드립니다
컨트롤러에서int i = menuSvc.doUpdate(coffeeMenu);앞에 int i 변수선언을 하는 이유가 있을까요??강의 내용중 Mybatis 가 숫자를 반환해준다고 하신거같은데 살짝 이해가 안가서요 혹시 제가 국비 다니고있습니다.프로젝트 진행중인데 프론트 쪽이 리엑트 쓰는데JSON형식으로 넘겨줘야한다고 하더라고요RestComtroller 또는 Controller 클래스 레벨에 선언후메소드에서 Responsbody 선언하고 똑같이 리턴은String 으로 해서 View 페이지에 보내면될까요? 제가 다니는 학원에서는 리엑트를 안배우고 vue2 를 배워서 이부분이 너무 무지해서 좀 막막합니다
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
안녕하세요 section9 주문내역 검색에서 자꾸 오류가나네요
수업내용 V1,V2 와는 별개로 제가 V3로 다시 만들어서 수업을 따라서 진행중인데, 주문내역에서 검색을 하면 저런 오류창이 뜨네요..ㅠ제 소스파일을 압축해서 구글링크로 걸어두겠습니다 한번만 봐주시면 감사할것같습니다!! https://drive.google.com/file/d/1f6M5tRzjpVYh6lloJEcaiquiP2y_DI6w/view?usp=sharing
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
고객정보 실행에서 화면 안나옵니다..
와 어김없이 오류가...고민고미하다 오려봅니다.https://drive.google.com/drive/folders/1fI2ZNj1l2IrpzKHGAh2xNhPuPDsmZ3Mq
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
주문내역 조회기능 동작안됨 현상
주문내역에서 고객명 조회나 물품명 조회가 안됩니다.구글에 소스는 공유했습니다.
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
주문내역 작업 (VO 객체사용)에서 오류...
주문 내역 처리인데 오류가 납니다.구글에 소스 올리겠습니다...
- 미해결스프링 부트 웹 개발 입문 - 따라하며 배우기
안녕하세요 7장 커피메뉴 DB 연동과정에서 오류납니다.
제 소스파일은 구글드라이브 링크를 걸어드리겠습니다ㅠ수업과정 그대로 진행했고, 혹시 틀린부분없나 일일히 체크해봤는데도 잘모르겠네요 https://drive.google.com/drive/folders/1Qh3u8f_Y3Serz1JDhtKld6PEFiUGEfpt?usp=drive_link
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
가격수정...404오류
404 오류 입니다...소스는 구글로 공유했습니다..
- 해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
메뉴명이 안나와요~
소스는 구글에 올리겠습니다..