- Outsider's Dev Story
- 흔한 개발자의 개발 노트
- 내 아이큐 80, 너도 80, 둘이 합쳐 160 - 내…
- 조대협의 블로그
- 자바캔(Java Can Do IT) / 최범균 님
- Sangon, Han – 개발자; 읽고 생각하고 쓰고 …
- The Evolution of the Web
- NAVER D2
- Dashboard - SLiPP
- ITWorld Korea - 테크놀로지 리더를 위한 글…
- OKKY - All That Developer
- 웹Frameworks
- 오픈튜토리얼스
- 위키독스 / 온라인 책 제작 공유 플랫폼 서비스
- 블로터
- IT OnAir
- 한 처음에 / 백창92
- Divide my knowledge / 완프최
- SERI.org
목록게시판 (15)
Bigfat
MapperFactoryBean을 사용하지 않고, SqlSession을 주입해 사용해보자 Mapper XML과 DAO Interface를 연결해주는 MapperFactoryBean을 사용하지 않고, SqlSession을 DAOImpl 클래스에 의존성을 주입(DI)해 사용해보자. MapperFactoryBean은 **DaoImpl 클래스가 필요 없는 대신 DAO 인터페이스가 늘어날 때마다 root-context.xml에 bean을 등록해줘야 하는 반면에 SqlSession을 **DaoImpl 클래스에 DI해 사용하면 bean 객체를 추가해주지 않아도 되지만 DAO 인터페이스를 구현하는 DAOImpl 클래스를 필요로 한다. root-context.xml을 열어 MapperFactoryBean 객체를 추가해줬..
iBATIS 버전3인 MyBatis를 설정하고 사용해보자 과거 iBATIS인 MyBatis(이하 마이바티스)는 버전3부터 자바와 닷넷 주요 개발자들을 포함한 팀 전원이 아파치 소프트웨어 재단에서 구글 코드로 이전하면서 프레임워크의 이름이 변경되었다. 스프링은 MyBatis의 기본 지원을 중단하고 스프링 연동 프로젝트(mybatis-spring)를 시작했다(참고1). 데이터베이스 접속 정보를 담은 db.properties, 마이바티스 설정 파일인 mybatisConfig.xml, 쿼리가 작성되어있는 Mapper XML인 bbs.xml이 어느 경로에 위치해있는지 확인하기 위해 프로젝트의 전체적인 구조를 확인하자. pom.xml을 열어 iBATIS를 사용하기 위해 다운그레이드했던 스프링의 버전을 최신으로 변경..
스프링 프레임워크가 지원하는 iBATIS를 사용해보자 iBATIS(이하 iBatis, 아이바티스)는 SQL에 기반한 데이터베이스와 자바, 닷넷(.NET), 루비(Ruby) 등을 연결시켜주는 역할을 하는 영속성 프레임워크(Persistence Framework)이다. 이러한 연결은 프로그램의 소스코드에서 SQL 문장을 분리하여 별도의 XML 파일로 저장하고, 이 둘을 서로 연결시켜주는 방식으로 작동한다. iBatis는 사용자가 SQL 문장을 만들면 그에 적합한 객체모델을 생성하는 방식으로 작동한다(참고1). iBatis 설정 파일(sqlMapConfig.xml)과 Mapper 파일(bbs.xml)의 위치를 확인하기 위해 전체적인 프로젝트 구조를 먼저 살펴본다. iBatis는 스프링4에서 더이상 지원하지 않..
기존의 게시판 프로젝트를 스프링 MVC 구조로 구현해보자 먼저 프로젝트가 어떤 구조로 진행될 지 확인하자. /WEB-INF/web.xml에 아래와 같은 설정을 추가해줬다. URL을 루트로, 즉 http://localhost/bbs/로 접근하였을 때 login.jsp화면을 출력해주기 위해 를, UTF-8 인코딩을 위한 를, 에러 페이지를 처리하기 위한 를 추가해준 코드다. 컨트롤러에서 request를 받아서 setCharacterEncoding메서드로 변경해줘도 안되는 이유는 아직 모르겠다..1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465..
Ajax를 이용해 비동기 통신으로 댓글 쓰기를 구현해보자 기존 웹 애플리케이션은 브라우저에서 채운 form을 웹 서버로 제출(submit)하는 요청으로 웹 서버의 중복되는 HTML 코드의 전송으로 대역폭의 낭비를 야기할 수 있다. Ajax(Asynchronous JavaSript and XML, 에이잭스)는 페이지 이동 없이 필요한 데이터만을 웹서버에 요청해서 받은 후 클라이언트에서 데이터에 대한 처리를 할 수 있는 기술이기 때문에 기존 웹 애플리케이션의 단점을 극복할 수 있다. 웹 서버와 비동기적으로 데이터를 교환하고 조작하기 위해 XML을 이용했기 때문에 붙여진 이름이지만, Ajax 애플리케이션은 XML 대신하는 데이터 포맷으로 JSON(JavaScript Object Notation)을 이용할 수 ..
게시글에 답글을 쓰는 기능을 구현해보자 이전과 동일하게 bbs.properties파일에 요청에 대해 처리할 클래스를 매핑한다.#bbs.properties /writeForm.bbs=com.edu.bbs.WriteFormImpl /write.bbs=com.edu.bbs.WriteImpl /list.bbs=com.edu.bbs.ListImpl /content.bbs=com.edu.bbs.ContentImpl /login.bbs=com.edu.bbs.LoginImpl /logout.bbs=com.edu.bbs.LogoutImpl /updateForm.bbs=com.edu.bbs.UpdateFormImpl /update.bbs=com.edu.bbs.UpdateImpl /delete.bbs=com.edu.bbs...
게시글을 삭제하는 기능을 구현해보자 글 삭제(delete) 기능은 화면이 필요 없으므로 JSP는 생성하지 않고, 이전과 동일하게 bbs.properties파일에 요청에 대해 처리할 클래스를 매핑한다.#bbs.properties /writeForm.bbs=com.edu.bbs.WriteFormImpl /write.bbs=com.edu.bbs.WriteImpl /list.bbs=com.edu.bbs.ListImpl /content.bbs=com.edu.bbs.ContentImpl /login.bbs=com.edu.bbs.LoginImpl /logout.bbs=com.edu.bbs.LogoutImpl /updateForm.bbs=com.edu.bbs.UpdateFormImpl /update.bbs=com.ed..
게시된 글을 수정하는 화면을 만들어 보자 이전과 동일하게 bbs.properties파일에 수정(update) 관련 정보를 추가한다.#bbs.properties /writeForm.bbs=com.edu.bbs.WriteFormImpl /write.bbs=com.edu.bbs.WriteImpl /list.bbs=com.edu.bbs.ListImpl /content.bbs=com.edu.bbs.ContentImpl /login.bbs=com.edu.bbs.LoginImpl /logout.bbs=com.edu.bbs.LogoutImpl /updateForm.bbs=com.edu.bbs.UpdateFormImpl /update.bbs=com.edu.bbs.UpdateImpl UpdateFormImpl클래스를 생성..