본문 바로가기

Spring

(57)
템플릿 메소드 패턴 / 팩토리 메소드 패턴 UserDAO 의 작성 예시를 보여주겠다. userDAO를 작성할떄 , 관심사가 같은것끼리 객체 안으로 모이게하고, 관심사가 다른것은 따로 떨어져서 서로 영향을 주지 않도록 분리한다. [1-1] UserDAO 의 관심사항은 - 유저를 추가하는것, 유저를 검색하는것 ( 데이터 access 로직 구현 ) 이외에도 - DB연결 ( DB, DB드라이버 등 ) 이 있다. 이때 , 연결및 DB에 대한 정보는 다를수 있으므로 protected 또는 abstract 매소드 로 지정해놓게 된다. 예시를 들겠다. public abstract class UserDao { public void add(User user) throws Exception { Connection c = getConnection(); ... } pu..
jsp에서 한글이 깨지거나 @RequestParam등에서 깨질때 1. JSP 페이지 1번 줄에 셋팅 2. post 방식의 파라미터를 받는 페이지마다 해당 라인 추가 request.setCharacterEncoding("utf-8"); 3. 톰캣 server.xml 파일에 Connector마다 URIEncoding="utf-8" 추가 4. 톰캣 web.xml 파일 수정 setCharacterEncodingFilter org.apache.catalina.filters.SetCharacterEncodingFilter encoding UTF-8 true
applicationContext.xml 이 없는경우 프로젝트명 > 오른쪽마우스 > new > other > Spring > Spring Bean Configuration File > 이름입력 > next클릭 > namespace설정 web.xml에서 contextConfigLocation classpath:applicationContext.xmlM
Controller 에서 Controller 로 보내는 방법 @RequestMapping("/1st") public String 1st(){ return "jsp이름"; //mvc 패턴에서 controller는 이와 같이 view를 호출하는 용도로 사용된다. } @RequestMapping("/2nd") public String 2nd(){ return "redirect:/1st"; //이렇게하면 view가 호출되는것이 아닌 controller가 호출된다. }
XMLHttpRequest.responseText 가 ??로 깨져서 나올경우 응답에 대한 헤더 설정이 utf-8로 안되어 있는것이다. 다양한 방법이 있는데 가장 간단한 방법을 소개 하겠다. @RequestMapping 에 다음을 추가하는것이다. produces="application/text;charset=utf8" 즉, 아래와 같은 모습이 되면된다. @RequestMapping(value = "/", method = RequestMethod.POST, produces="application/text;charset=utf8")
웹서버 구조와 스프링프레임워크의 장점 일반적으로, 여러 유저가 동시에 서버에 접속을하면 유저마다스레드가 생기고, 각 스레드마다 자원에 해당하는 객체의 인스턴스를 생성해서 사용하게 된다. 이 객체들은 Heap 메모리에 저장되게 된다. 스프링 프레임워크에서는, 자원에 해당하는 객체를 bean으로 등록하여 스프링프레임워크가 그 객체를 new 로 인스턴스화 하지 않고 사용할수 있도록 공용으로 사용할수 있게 도와주고, 즉, 서버의 Heap공간에는 초기셋팅시 단 한번만 등록이 된다. 이런 구조를 SingleTon이라고 한다. 초기셋팅시 component-scan을 통해 Bean으로 자동지정될수 있도록 하는 어노테이션들 ` @Controller ` @Service ` @Repository //DB와 접근을 하는 DAO ( mybatis 시 mapper에..
JAP란? WHAT? JPA는 객체와 관계형 데이터베이스 사이에 필요한 매핑을 자동으로 지원해주는 ORM 이다. 개발할 때, 객체답게 개발하면, 관게형데이터베이스와 매핑이 복잡해지고, 개발할 때, 관계형 데이터베이스에 맞추어 개발하면 ,객체의 관계들이 복잡해지고, 기능에 한계가 생기기도한다. 이 때, 객체의 장점을 살려 개발을 해도, 자동으로 중간에서 관계형 데이터베이스와 매핑시켜주는 API 가 JPA이다. ======================================================================= HOW? 1) persistence.xml 파일을 통해 설정 정보들( DB접속, 옵션 등)을 얻는다. 2) 사용할 데이터 베이스에 맞는 방언이 있어, 자동으로 SQL 문이 생성되서 나..
ModelAndView WHEN? @Controller 에서 view로 데이터를 넘겨주고 싶을때 사용한다. HOW? ` 리턴값을 ModelAndView 로 놓아준다. @Controller @RequestMapping("/") public ModelAndView home(){ ` ModelAndView result = new ModelAndView(); ` result . addAttribute(" 이름 " , 객체 ) ; ` result . setViewName(" 뷰이름 " ); //jsp 이름 넣어주면 된다. ` return result ; } 이렇게하면, 뷰이름으로 지정해준 화면으로 리다이렉트되며, 그 뷰에선 객체를 ${이름}으로 사용할 수 있다.