[JSP] 응용 예제(한 줄 메모장)
programming/jsp

[JSP] 응용 예제(한 줄 메모장)

10. 응용 예제(한 줄 메모장)

 

10.1 mybatis

10.1.1 개발자가 지정한 SQL, 저장프로시저를 지원하는 프레임워크

 

10.1.2 프로그램 소스 안에 SQL문을 작성하던 기존 JDBC 방식과 달리 SQL문을 프로그램에서 분리하여 XML 파일에 별도로 작성

 

10.1.3 mybatis의 장점

10.1.3.1 코딩량 절감

10.1.3.2 간편한 유지보수(SQL을 변경하고자 할 경우 기존처럼 프로그램을 수정하는 것이 아니라 XML 파일의 SQL문만을 변경하면 되기 때문에 SQL 변환이 자유로움)

 

mybatis sql injection 취약점 . (2013). Retrieved from http://apollo89.com/wordpress/?p=2175.

 

10.1.4 ibatis라는 이름으로 2.5까지 개발(아파치 프로젝트)

 

10.1.5 3.0 버전부터 mybatis로 이름이 바뀜

 

10.1.6 http://mybatis.org

 

 

10.2 mybatis 설정 방법

10.2.1 mybatis-3.4.5.jar: lib 폴더에 복사

 

10.2.2 MybatisManager.java: mybatis framework을 실행할 수 있는 세션 생성

 

10.2.3 sqlMapConfig.xml: mybatis 기본설정 파일

 

10.2.4 mapper 파일: 실제 sql query 문장

 

 

10.3 한줄 메모장

web.xml(배치기술서)

Controller

MemoController.java

Model

MemoDTO.java

MemoDAO.java

View

memo.jsp : ajax 요청 페이지, 메모입력

memo_list.jsp : 메모목록

memo_view.jsp : 메모 보기, 수정, 삭제 기능

 

10.3.1 CRUD

  • Create: INSERT
  • Read: SELECT
  • Update: UPDATE
  • Delete: DELETE

 

10.3.2 메모장 목록

memo_list.do (web.xml에 매핑)

Controller

MemoController.java

Model

MemoDTO.java

MemoDAO.java

View

memo_list.jsp


list.do → MemoController.java → MemoDAO.java → 메모리스트 리턴 → request 객체에 저장 → memo_list.jsp로 포워딩


10.3.3 메모 저장insert.do (web.xml에 매핑)

Controller

MemoController.java

폼에서 입력한 값들을 모델에 전달

저장완료 후 memo.jsp로 이동

Model

MemoDTO.java

MemoDAO.java

View

insert.do → MemoController.java → MemoDAO.java → memo.jsp로 이동

태그 입력 테스트

아래의 태그를 입력하면 효과가 적용됨

<marquee>hello</marquee>

<font color="red" size="7">Hello</font>

<xmp> 태그를 입력하면 화면이 깨짐

<xmp> html소스를 해석하지 않고 그대로 출력

해결책 : 태그 문자를 변환해야 함

< → &lt;

> → &gt;

공백문자 처리

스페이스 → &nbsp;


10.3.4 메모 수정/삭제 화면

view.do?idx=메모번호 (web.xml에 매핑)

Controller

MemoController.java

메모번호조회 request.getParameter("idx")

Model

MemoDTO.java

MemoDAO.java

View

memo_view.jsp


10.3.5 메모 수정update.do (web.xml에 매핑)

Controller

MemoController.java

폼입력데이터를 dao에 전달 → update → 수정완료 후 memo.jsp로 이동

Model

MemoDTO.java

MemoDAO.java

View

memo_view.jsp


10.3.6 메모 삭제

delete.do (web.xml에 매핑)

Controller

MemoController.java

메모번호를 dao에 전달 → delete, 삭제완료 후 memo.jsp로 이동

Model

MemoDAO.java

MemoDTO.java

View

 

10.4 실습소스

10.4.1 sqlmap.sqlMapConfig.xml