분류 전체보기
-
스프링컨테이너의관계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이나 어노테이션으로 처리했다 .그러나 지금까지 어..
-
@ModelAttributeSpring_FrameWork 2018. 11. 23. 18:31
@ModelAttribute사용법 2가지1. Command 객체의 이름을 변경하려고 할때스프링 컨테이너가 생성하는 Command객체의 이름은 클래스 이름의 첫글자를 소문자로 변경한 이름이 자동으로 설정된다. 따라서 UserVO 객체의 변수에 접근할때 ${userVO.변수명}을 사용한 것이다 . 그런데 Command 객체의 이름을 변경하려고 하면 Command 객체에 (controller의 메소드의 매개변수) ~~@ModelAttribute(”user”) UserVO vo ){내용}설정하면 JSTL 로 ${user.id}, ${user.password}등으로 접근가능하다별명같은것 2.View페이지에서 사용할 데이터를 설정하는 용도로 사용가능이렇게 설정해놓으면 가장 먼저 modelAttribute가 생성되고..
-
@RequestParamSpring_FrameWork 2018. 11. 23. 18:31
@RequestParamVO객체에 없는 값을 넘겨주기 위한 @RequestParam 어노테이션@RequestParam의 속성의 의미@request-accepted(value =“searchCondition”,defaultValue=“TITLE”,required=false)String conditionvalue 화면으로 전달될 파라미터 이름defaultValue 화면으로 부터 전달될 파라미터 정보가 없을 때설정할 기본값required 파라미터의 생략여부 위설정은 searchConditon이 필수 파라미터는 아니지만 만약 파라미터 정보가 전달된다면 해당값을 추출하여 condition 변수에 할당하고, 파라미터 정보가 전달되지 않았다면 기본값으로 title 문자열을 할당하라는 의미이다 .
-
2.11 Controller의 리턴타입Spring_FrameWork 2018. 11. 23. 18:30
2.11 Controller의 리턴타입//글 상세 조회 @RequestMapping(“/getBoard.do”) public String getBoard(BoardVO vo, BoardDAO boardDAO,Model model) { model.addAttribute(“board”,boardDAO.getBoard(vo));// Model 정보 저장 return “getBoard.jsp”; //View 이름 리턴 } //글 목록 검색 @RequestMapping(“/getBoardList.do”) public String getBoardList(BoardVO vo , BoardDAO boardDAO ,Model model) { System.out.println(“글 목록 검색 처리”); //Model정보 ..
-
and_181122Android 2018. 11. 22. 22:18
변수를 할당해야하는지 하지 말고 바로 실행시킬지는변수의 사용횟수에 따른다.1회 --> 사용 X2회 이상 사용 --> 할당 O package com.example.kgitbank.kakao; import android.content.Context; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Layout..