Get 방식 전송에 사용되는 URL 인코딩용 특수 문자
get전송 url
http://my.home.com/some?data1=어떤값&data2=또+다른값
url/메소드?데이터변수이름
원래 사용하는 get 방식
같은 페이지라면 url은 생략 가능
- ? : url과 데이터의 구분, url?이름=값
- & : 데이터 간 구분. url?이름1=값1&이름2=값2.....
- + : 값에 들어간 공백. 값+문자열 => '값 문자열', 공백문자 ' '를 사용하지 않음(띄어쓰기 허용 안됨)
사용하는 위치 : 브라우저 주소 칸. <a> 태그의 href 속성. 자바스크립트 location.href
PathVariable : 경로 형식으로 데이터를 전송하는 방식
url/data => @GetMapping("url/{data}")
매개변수 앞에 (@PathVariable("data") String data)
@GetMapping("detail/{tcode}")
public ModelAndView detail(@PathVariable("tcode") Integer tcode){
log.info("detail()");
// log.info("detail() - tcode:" + tcode);
mv = tServ.getData(tcode);
return mv;
}
@GetMapping("detail/{tcode}/{tname}")
public ModelAndView detail(@PathVariable("tcode") Integer tcode, @PathVariable("tname") String tname){
log.info("detail()");
log.info("tname : " + tname);
// log.info("detail() - tcode:" + tcode);
mv = tServ.getData(tcode);
return mv;
}
다수 데이터 전송
url/data1/data2 => @GetMapping("url/{data1}/{data2}")
각 매개변수 앞에 (@PathVariable("data1") String data1, @PathVaribale("data2") int data2)
데이터 수정
수정과 삭제는 항상 검색 기능이 앞에 먼저 처리되어야 한다. 그래서 상세보기 화면에서 진행!
수정기능 = 검색 + 입력
화면의 구조는 입력양식과 유사
1. view폴더에 updateFome.jsp 파일 만들기
2. detail.jsp에 알람 띄우기 수정여부 확인
3. controller updateForm
4. dao 데이터 수정용 메소드 선언
5. dao.xml 데이터 쿼리문작성
6. service
7. sevice - controller 연결
데이터 삭제
1. detail.jsp
let yn = confirm("삭제하시겠습니까?");
if(yn){
location.href = "/deleteData?tcode=${data.tcode}"
}
2. controller deleteData
public String deleteData(Integer tcode, RedirectAttributes rttr){
log.info("deleteData()");
String view = null;
return view;
}
3. dao 데이터삭제 용 메소드 선언
DELETE FROM testtb1 WHERE tcode=#{tcode}
</delete>
5. sevice
log.info("deleteData()");
String view = null;
String msg = null;
try{
tDao.deleteData(tcode);
view = "redirect:outputData";
msg = "삭제 성공";
}catch (Exception e){
e.printStackTrace();
view = "redirect:detail?tcode=" + tcode;
msg = "삭제 실패";
}
rttr.addFlashAttribute("msg", msg);
return view;
}
public String deleteData(Integer tcode, RedirectAttributes rttr){
log.info("deleteData()");
String view = tServ.deleteData(tcode, rttr);
return view;
}
'공부기록' 카테고리의 다른 글
5월 16일 (1) Spring - AJAX DB 연동 (0) | 2023.05.16 |
---|---|
5월 15일 (2) Spring - AJAX (0) | 2023.05.15 |
5월 12일 (2) Spring - JDBC 연동 CRUD(출력, 상세보기) (0) | 2023.05.12 |
5월 12일 (1) Spring - JDBC 연동 CRUD(입력) (1) | 2023.05.12 |
5월 11일 (2) Spring - JDBC 연동 프로젝트2 (0) | 2023.05.11 |