전체 글 249

Spring2.5 - 개요 & 구성요소 & MVC패턴

스프링 개요 자바 엔터프라이즈 개발의 효율성을 높이는 오픈소스 경량 애플리케이션 프레임워크. 말 그대로 소스코드가 굉장히 간략해지고 가벼워졌다. EJB는 유일한 엔터프라이즈 애플리케이션 개발 프레임워크였는데 너무 어려워서 개발생산성이 뛰어난 스프링이 나왔다. 스프링2.5와 3.0에서 객체 지향과 의존성 주입(IoC 제어의역전 /DI 의존성주입) 문법을 두 버전 모두 실습하고자 한다. 핵심 도구 ① 객체 지향과 의존성 주입(IoC/DI) ② AOP : 테스트를 할때 어디까지 정상처리가 되고 오류가 나는지 도와줌. 굉장히 어렵다. POJO 프레임워크 (비침투적 프레임워크) ① 순수 자바로 프로그래밍할 수 있다.(자바 콘솔 프로그램도 만들수있음) ② POJO는 순수 자바클래스로 EJB(EJB 3.0 이전)나,..

Dev/Spring 2019.03.28

Struts2 - tiles

Tiles 페이지 레이아웃을 위한 프레임워크. 스프링에서도 제공한다. 요새는 부트스트랩을 사용해서 틀을 가져다가 쓴다. 뜯어보면 다 tiles 를 사용하는 것이다. 반복적으로 사용되는 header와 footer를 매 페이지마다 include를 시키게 되면 나중에 그 파일이 변경되었을 때 오류가 발생할 수 있다. 이를 예방하기 위해 Tiles는 레이아웃을 지원해준다. 1. 클라이언트의 요청을 받아 컨트롤러가 어떤 Action의 메소드로 가야할지 알려준다. 2. 이 때, Action의 실행전/후 모두 Interceptor를 거치게 된다(filter와 같은 역할). 3. Action은 실행 후 결과를 반환하는데 Result type=”tiles”로 가라고 알려준다. 4. Interceptor에서 Plugin인..

Dev/Struts 2019.03.28

Struts2/iBatis - 이미지 게시판 구현

주요 기능1. 로그인해야 게시물등록2. 페이징처리3. 게시물번호 일렬번호만들기4. 삭제는 업로드시킨 사람만 삭제가능1. DB에 테이블 만들기2. sqlMapConfig 등록3. sqlMap 생성insert into mem (userId,userPwd,userName,userBirth,userTel)values (#userId#,#userPwd#,#userName#,#userBirth#,#userTel#)select userId,userPwd,userName,to_char(userBirth,'yyyy-mm-dd') userBirth,userTelfrom mem where userId=#userId#select userId,userPwd,userName,to_char(userBirth,'yyyy-mm-dd'..

Dev/Struts 2019.03.26

Struts2/iBatis - 회원가입, 로그인, 비밀번호찾기 기능 구현

1. DB 테이블 만들기 create table mem(userId varchar2(10) not null,userPwd varchar2(10) not null,userName varchar2(20) not null,userBirth date,userTel varchar2(20),constraint pk_mem_userId primary key(userId)); 2. sqlmap 생성insert into mem (userId,userPwd,userName,userBirth,userTel)values (#userId#,#userPwd#,#userName#,#userBirth#,#userTel#)select userId,userPwd,userName,to_char(userBirth,'yyyy-mm-dd') ..

Dev/Struts 2019.03.26

Struts2 - 파일업로드/다운로드/보기 기능 구현

일반적으로 프레임워크는 파일을 업로드시키는 고유 방법을 내장하고 있다. Struts2를 활용한 파일업로드,다운로드,뷰 기능을 구현해보자.1. DTO 생성package com.fileTest;import java.io.File;public class FileTestDTO {private File upload;//jsp페이지의 input태그의 type=file, name=upload인 데이터//위에서 정의한 upload에 FileName을 붙이면 Struts2가 자동으로 파일 이름을 넣어준다.private String uploadFileName; //struts2방식 File클래스 이름뒤에 FileName을 붙임private String mode;public File getUpload() {return up..

Dev/Struts 2019.03.26

Struts2 - Interceptor와 Chain

Interceptor 1. TimerIntercepter 클래스 생성(AbstractInterceptor 추상클래스를 상속)package com.inter;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;//Intercepter는 filter와 같은 효과를 지닌다.//인터셉터가 여러개면 순서대로 실행되고 Action을 실행한다.//모든 Action에 적용할수도있고 부분적으로 Action에 적용 가능public ..

Dev/Struts 2019.03.26

Struts1/iBatis - 이미지 게시판 만들기

1. 데이터베이스에 테이블 생성CREATE TABLE imagetest(NUM NUMBER(7) PRIMARY KEY,SUBJECT VARCHAR2(50) NOT NULL,SAVEFILENAME VARCHAR2(50),ORIGINALFILENAME VARCHAR2(50))2. sqlMapConfig.xml 등록3. image-sqlMap.xml 등록select nvl(max(num),0) from imageTestinsert into imageTest (num,subject,saveFileName,originalFileName) values (#num#,#subject#,#saveFileName#,#originalFileName#)=#start# and rnumselect num,subject,saveF..

Dev/Struts 2019.03.24

Struts1/iBatis - 로그아웃 기능 구현

1. struts-config_member.xml 등록로그아웃시 리다이렉트 페이지 등록 2. Action 클래스 logout메소드 추가//로그인 페이지 포워드 public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { return mapping.findForward("login"); } //로그인정보 입력시 public ActionForward login_ok(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletRespo..

Dev/Struts 2019.03.24

Struts1/iBatis - 회원가입 및 수정/로그인/비밀번호찾기 기능 구현

Struts1와 iBatis 구조 1. namespace가 member인 SQLMAP을 찾아가서 id가 getReadData인 SQL문을 실행하고 반환값 저장 2. 클라이언트의 요청 URL에 join이 있을 경우 MemberAction클래스에 가서 파라미터값으로 전달받은 method를 실행. ( *.do에 대한 url패턴은 web.xml파일에 등록함, form-bean으로 MemberForm을 설정해놨으므로 이 데이터도 함께 전송) 3-1. Action 클래스의 forward 반환값이 'login'이라면 login.jsp 페이지를 연결 3-2. Action 클래스의 forward 반환값이 'login_ok'이라면 게시판 리스트 페이지를 연결 3-2. Action 클래스의 forward 반환값이 'sear..

Dev/Struts 2019.03.23

Struts2 - 답변형 게시판 만들기(2) 게시글조회/답변/수정/삭제

1. 테이블 구조boardNum-기본키 (숫자)[varchar2] name, pwd, email, subject, content, ipAddr, created[number] groupNum, depth, orderNo, parent(삭제를 위한 컬럼), hitCount2. 답글 정렬 알고리즘1,5 : 동일 그룹 1번 / 2,3,4 동일 그룹 2번 groupNum은 최상위 parent의 BoardNum을 의미한다. depth는 답변의 심도에 해당한다. parent에 해당하는 레코드의 depth+1값을 반영한다.orderNo는 같은 그룹안에서 출력되는 순서를 의미한다(desc-내림차순으로 정렬). ① 게시글 A 입력, ② 게시글 B 입력항상 나중에 입력된 게시글이 위로 올라간다. parent가 없는 게시물의..

Dev/Struts 2019.03.22
반응형