Spring_FrameWork
-
Mybatis 구조Spring_FrameWork 2018. 11. 23. 18:55
우선 SqlMapConfig.xml 파일은 Mybatis 메인 환경설정 파일이다 .Mybatis는 이파일을 읽어 들여 어떤 DBMS와 커넥션을 맺을지, 어떤 SQL Mapper XML 파일 들이 등록되어있는지 알 수 있다 . Mybatis는 SqlMap.xml 파일에 등록된 각 sql 명령어들을 Map 구조로 저장하여 관리한다. 각 SQL 명령어는 고유한 아디값을 가지고 있으므로 특정아이디로 등록된 SQL을 실행할 수있다. 그리고 SQL이 실행될때 필요한 값들은 input 형태의 데이터로 할당하고 , 실행된 SQL이 SELECT 구문일때는 output 형태의 데이터로 리턴한다. Mapper XML 파일 구조Mybatis 프레임워크에서 가장 중요한 파일은 SQL 명령어들이 저장되는 SQL Mapper XM..
-
자바객체 XML로변환Spring_FrameWork 2018. 11. 23. 18:37
자바객체를 XML 형태의 데이터로 변환하려면 JAXB2 API에서 제공하는 어노테이션들을 사용해야한다 그러나 자바 6이후로는 기본으로 포함되어있다Vo 클래스에 선언된 @Xml AccessorType는 BoardVO 객체를 XML로 변환할수 잇다는 의미이다 , seq변수에만@XmlAttribute가 붙어있는데 이는 seq 를 속성으로 표시하라는 의미이다 그리고 searchCondition , searchKeyword, uploadFile에는@XmlTransient 가 설정되어 있는데 이세개의 변수는 XML 변환에서 제외하라는 의미이다. 마치 JSON 변환에서 @JsonIgnore와 같은 개념의 어노테이션이라고 보면 된다.마지막으로 등록달짜를 저장하는 regDate 변수는 이전까지 Date 클래스였지만 sq..
-
다국어처리Spring_FrameWork 2018. 11. 23. 18:37
javax.servlet.ServletException: javax.servlet.jsp.JspTagException: No message found under code영어 메세지 파일한글 메세지 파일한글은 아시아 권 언어를 사용할때는 반드시 유니코드로 변환하여 등록해야한다.그냥 메모장에 txt파일로 타이핑하고 sts에 복붙하면 자동으로 바뀐다.메세지 파일들을 읽어들이는 MessageSource bean 객체를 presentaiton-layer.xml에등록브라우저에서 요청받아 메세지를 변경하는 SessionLocalResolver를 등록한다.LocaleChangeInterceptor까지 스프링 에 등록한다 로그인 화면에 Jstl tags를 추가하고 다음과같이 텍스트부분을 변경한다 직접 요청하면 오류가뜨니..
-
5.1 파일 업로드 처리Spring_FrameWork 2018. 11. 23. 18:36
1)파일 업로드 입력화면 수정2.Command 객체 수정 3.pom.xml 에 FileUpload 라이브러리 추가 4.MultipartResolver설정이름을 다르게하면 컨테이너가 읽을수가 없으므로 빈객체의 이름을 바꾸면 안된다 속성값의 -1은 업로드파일의 크기가 무제한이라는 의미5.파일업로드 처리발생오류콘솔창에 오류값도 안뜨고 400오류 org.springframework.validation.BeanPropertyBindingResulthttp status 400 – bad request spring mvc이런거뜸 알고보니 enc-type에 multipart에 L 이 빠져서 mutipart라고 오타업로드시 이런오류에는 enc-type을 먼저 확인할것
-
스프링컨테이너의관계Spring_FrameWork 2018. 11. 23. 18:33
톰캣 서버를 구동 ->web.xml파일을 로딩하여 서블릿컨테이너가 구동web.xml파일에 등록된 ContextLoaderListener객체를 생성(pre-Loading)함이 객체는 src/main/resource폴더에 있는 applicationContext.xml파일을 로딩하여스프링 컨테이너를 구동하는데 이를 Root컨테이너라고 한다 이때 Service 구현 클래스나 DAO 객체들이 메모리에 생성된다 . 그리고 사용자가 로그인 버튼을 눌러서 “.do”요청을 서버에 전달하면 DispatcherServlet 객체를 생성하고 ③Dispatcher 객체는 /WEB-INF/config 폴더에 있는 presentation-layer.xml파일을 로딩하여 두번째 스프링 컨테이너를 구동한다. 이 두번째 스프링 컨테이너..
-
ContextLoaderListener등록Spring_FrameWork 2018. 11. 23. 18:33
ContextLoaderListener등록WEB.XML에 설정 contextConfigLocation classpath:applicationContext.xml org.springframework.web.context.ContextLoaderListener 그냥 등록하면 default는 /WEB-INF/applicationContext.xml로 경로를 인식하기 때문에 위 resource폴더로 바꿔주기위해 설정을 추가한다 오류 전과 비슷한 biz/index.jsp 으로 이상하게 인식함 오토와이어에서 오류도 남 전에 해결한 방법쓰고도 안됨 다른문제 그러고보니 boardDAO를 쓰지 않고 JDBCTemplet 으로 구현한 boardSpringDAO를 boardImpl에 @AutoWired함 그냥 BoardDA..
-
2-Layered 아키텍처Spring_FrameWork 2018. 11. 23. 18:32
2-Layered 아키텍처직접 Controller 에서 DAO 를 쓰면 안되는 이유1.첫번째 이유지금까지 컨트롤라가 직접 DAO를 사용하여 기능을 수행하였지만 그렇게하면 DAO가 바뀔때 Controller의 모든 메소드를 수정해야한다 유지보수가 어려움 해결그래서 interface Service를 구현한 serviceimpl을 controller에 사용하게 만든다 ServiceImpl 에 @Autoiwired private BoardDAO boardDAO;어노테이션으로 적용한다 2.두번째 이유 AOP 적용때문이다 모든 비즈니스 컴포넌트의 메소드에서 공통으로 사용할 기등들을 횡단관심, 즉 어드바이스로 구현했다 이 어드바이스가 적절한 시점에 동작할수있도록 XML이나 어노테이션으로 처리했다 .그러나 지금까지 어..