100 likes | 221 Views
XML with JAVA. chapter 13 : JDOM 을 이용한 회원등록 과 목록 보기. 학습 목표. 프로그램 설치 Tomcat 설치 wtp-all-in-one 설치 tomcatPlugin 플러그인 JDOM 라이브러리 등록 회원관리 프로그램 구성 분석 중요소스 분석 프로그램 실행. 프로그램 설치. 프로그램 다운로드 Tomcat : http://tomcat.apache.org WTP-ALL-IN-ONE : http://www.eclipse.org
E N D
chapter 13 : JDOM을 이용한 회원등록 과 목록 보기
학습 목표 • 프로그램 설치 • Tomcat 설치 • wtp-all-in-one 설치 • tomcatPlugin 플러그인 • JDOM 라이브러리 등록 • 회원관리 프로그램 구성 분석 • 중요소스 분석 • 프로그램 실행
프로그램 설치 • 프로그램 다운로드 • Tomcat : http://tomcat.apache.org • WTP-ALL-IN-ONE : http://www.eclipse.org • tomcatPlugin : http://www.sysdeo.com • JDOM : http://www.jdom.org • 이상 프로그램들은 소스폴더에 저장되어 있음. • 프로그램 설치 동영상 참조
프로그램 구성 분석 • 프로그램 구조 Member.jsp Member.xml JDOM addElement(Member member) Vector getMemInfo() Member member MemberBean.java Member.java DAO DTO
중요 소스 분석 Member.xml
중요 소스 분석 • SAXBuilder 생성과 Document 얻기 org.jdom.input.SAXBuilderbuilder = new SAXBuilder(); doc = builder.build(new File(FILE_DIR, FILE_NAME)) Vector MemInfo() 메소드 • root 엘리먼트 얻어오고 자식 엘리먼트들 얻어오기 eroot = doc.getRootElement(); List list=root.getChildren("member"); Iterator it = list.iterator();
중요 소스 분석 • Member 엘리먼트가 존재하는 만큼 루프 돌면서 멤버 엘리먼트의 자식엘리먼트 들의 데이터 값을 Member 클래스의 속성으로 저장 while ( it.hasNext()){ Member member = new Member(); //DTO 객체 생성 Element emt = (Element)it.next(); //member 엘리먼트 획득 member.setName(emt.getChild("name").getText()); member.setPhone(emt.getChild("phone").getText()); member.setAddr(emt.getChild("addr").getText()); vMember.add(member); } return vMember; }
중요 소스 분석 addElement(Member member) root = doc.getRootElement(); //루트 엘리먼트 가져오기 Element newEvent = new Element("member"); // member 엘리먼트 생성 Element addr = new Element("addr"); //addr 엘리먼트 생성 addr.setText(member.getAddr()); //addr 엘리먼트에 데이터 추가 newEvent.addContent(addr); //member 엘리먼트에 addr 추가 root.addContent(newEvent); //루트 엘리먼트에 member 추가 org.jdom.output.XMLOutputter outputter = new XMLOutputter(“ ", true, "euc-kr"); XMLOutputter 객체를 생성(들여쓰기 에 사용할 문자는 스페이스, 개행으로 엘리먼트를 구분,한글 처리) 출력할 파일 출력스트림을 생성하고 xml 문서를 파일로 출력 FileWriter writer = new FileWriter(FILE_DIR + FILE_NAME); outputter.output(doc, writer);