본문 바로가기

Java, Spring

(77)
19일차 2 지금까지 Controller 클래스에서 AbstractController만 상속받아 사용했지만 다른 클래스들도 많아. 원래 가장 기본은 Controller Interface를 사용하는거야. AbstractController 클래스 상속받던걸, Controller 인터페이스를 implements하는 것으로 바꿔보자. package test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public..
19일차 3 BeanNameUrlHandlerMapping말고 다른 HandlerMapping ( SimpleUrlHandlerMapping ) 을 덧붙여보자. AbstractCommandController 도 테스트해보자. (Spring 3.0에서는 주로 AbstractController와 @를 사용) AbstractCommandController는 페이지에(form 태그에) 값을 넘기는데 유용해. 그러니까.. SimpleUrlHandlerMapping, AbstractCommandController, iBatis를 사용해서 간단하게 사원정보(t_emp)를 입력하게 해보자. 먼저 mapping.xml로 파일을 분리하고 HandlerMapping 를 이용해보자. RegisterForm 위에서 설정한 클래스(test...
19일차 4 Log 를 찍어보자. ( log4j 사용) 1. spring-framework-2.5.6.SEC01\lib\log4j\log4j-1.2.15.jar 가져다 lib에 드래그앤드롭하고 2.WEB-INF밑에 log4j.properties 를 다음과 같이 만든다. #DEBUG, INFO, WARN, ERROR, FATAL : 5 Mode log4j.rootCategory=DEBUG, console, filelog log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%-5p..
19일차 5 Spring3 Spring2로 구현한 게시판 (springboard)프로젝트를 복사해 spring3board로 만들자. 이클립스 종료시키고 C:\Java\workspace\spring3board\WebContent\WEB-INF\lib 안의 jar파일들 삭제해. 이클립스 다시 띄우고 spring-framework-3.1.1.RELEASE\dist\ 전부 넣어 spring-framework-3.0.2.RELEASE-dependencies 에선 \org.apache.commons\com.springsource.org.apache.commons.logging\1.1.1\com.springsource.org.apache.commons.logging-1.1.1.jar \org.apache.log4j\com.spr..
19일차 6 이제 Spring3의 @(annotation)방식을 사용해보자. 먼저 BoardList에 적용해보자. dispatcher-servlet.xml BoardList에서 name=”/BoardList.do” 를 삭제하고, BoardList 클래스에 extends AbstractController 삭제. 그러면 아래 handleRequestInternal에 에러가 발생해. @(annotation)삭제하면 에러는 사라져. 그러면 이게 컨트롤러인지 모르니까 public class BoardList { 위에 @con치고 ctrl+space => @controller 그리고 BoardList.do 지웠으니 찾아갈 방법이 없잖아. handleRequestInternal 위에 @RequestMapping("BoardLis..
19일차 7 session 처리 규칙부터 정하지… 회원가입 안한 user : 게시판 사용못해. 로그인 페이지로. 처음 가입하고 인증안된 사람 : 레벨0. 게시판 보기만 되게. 가입하고 인증된사람 : 레벨1~20. 글쓰기, 수정, 삭제 다 되게. 운영자 : 레벨99 레벨0인 회원데이터도 하나 만들어놔. 먼저 web.xml에 Login Filter 등록하고 맵핑 걸어줘. 우선 확장자가 *.do인 것은 모두 LoginCheck로 보낼거야. springboard index.html index.htm index.jsp default.html default.htm default.jsp Set Character Encoding org.springframework.web.filter.CharacterEncodingFilter en..
19일차 8 web.xml 기본적으로 요청이 들어올 때 ‘servlet명-servlet.xml’을 찾아가지. 이 이름을 바꾸고 싶을 때가 있겠지. 바꿔보자. springboard index.html index.htm index.jsp default.html default.htm default.jsp Set Character Encoding org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 Set Character Encoding /* dispatcher org.springframework.web.servlet.DispatcherServlet contxtConfigLocation /WEB-INF/user.xml /WEB-INF/board.xml..
20일차 2 게시판 페이징 기능을 추가해보자. 쿼리를 만들어보자. select seq, title from board order by seq desc; SEQ TITLE --- ------- 37 스페인 33 독일 24 일본 23 아르헨티나 22 한국 20 포르투칼 19 잉글랜드 18 이탈리아 15 스페인 9 닥치고 정치 7 아빠엄마 6 아이폰 3 문제는 경제다 이렇게 번호가 띄엄띄엄이고 역순일 경우 그 페이지에 해당하는 10개를 가져오는 것은 어려워. 가상의 번호(rownum)를 붙여보자 select rownum, seq, title from board order by seq desc; ROWNUM SEQ TITLE ------ --- ------- 1 37 스페인 2 33 독일 3 24 일본 4 23 아르헨티나 ..