![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F98yP6%2FbtqD9OgCLyZ%2FGmikqSE3OzmcDaZkeN5Y0K%2Fimg.png)
Spring boot Spring을 이용하여 개발하려면 톰캣 설치를 시작으로 여러 가지 복잡한 설정을 해야한다. 그러나 애너테이션기능이 강화되면서 점차 웹 어플리케이션도 일반 응용 프로그램을 개발하는 방식으로 바뀌기 시작했다. 이것바로 스프링 부트이다. 스프링부트는 의존성관리가 용이할 뿐만 아니라 배포 와 테스트 역시 스프링프레임워크보다 쉽고 빠르게 할 수 있다. 스프링 부트로 개발하면 메이븐의 라이버러리 자동 업데이트 기능을 이어받을 수 있을 뿐만 아니라 기존 스프링 프레임 워크의 복잡한 설정 과정을 최대한 줄일 수 있어 편리하다. 스프링부트의 장점 일반적인 응용 프로그램을 실행하는 수즌으로 스프링 어플리케이션을 구현 할 수 있다. 프로젝트 환경을 구축할 때 필요한 톰캣, Jetty, UnderFlow..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgPM64%2FbtqD4zjGjfs%2Fme19DGKka6OVrgWmlfKxKK%2Fimg.png)
Spring 사용시 ajax를 사용하는 경우가 많이 발생한다 이때 데이터를 text로 받을 수도 있지만 json으로 받아야하는 경우도 발생한다 이때 우리가 알아야하는 하는것은 @ResponseBody , @RestController이다 @RestController 와 @controller 의 차이 @controller 일반적으로 View를 전달하기 위해 사용한다 @RestController 일반적으로 Rest full api를 구성하고 할때 사용하는 어노테이션으로 데이터를 전달하고자 할때 사용한다. 해당 어노테이션은 스프링 4점대부터 사용가능하며 이전 버전에서는 @responsebody를 통해서 데이터를 전달했다. ajax를 사용시 json형식으로 데이터 받기 pom.xml jackson을 추가해야 데이..
HTML 이란? Hyper Text Markup language 의 약자로 , www 서비스를 제공하기 위한 표준 언어이다. 그렇다면 Hyper Text와 Markup이 무엇인지 알아봐야한다 Hyper Text? 텍스트 정보에 대하여 말그대로 초월한다는 뜻이다. 기존에 책 처럼 순서대로 페이지를 거치는 것이 아니라 어느 한 페이지를 순간적으로 이동할 수 있는 것이다. 이러한 하피어 링크는 각 텍스트가 비선형적으로 연결 되어 있어서 링크(a태그)를 클릭만으로 순작적으로 내가원하는 페이지로 쉽게 이동가능하다. HTML은 이러한 하이퍼텍스트로 이루어져 있다고 보면된다. Markup ? 태그를 이용하여 문서를 구조적으로 표시하기 위한 언어로 보면된다. 흔히 웹브라우저를 통해 특정 HTML 문서를 요청하고 서버는..
흔히 반복되는 css, js의 경우 별도의 resources 폴더에 jsp파일을 만들어 include로 불러와서 반복되는 코드를 줄이면서 사용할 수 있다. 이때 발생하는 실수가 실제 css ,js 파일의 경로를 입력하는 것이다. 모든 요청은 dispacherServlet을 거치게 되어있다 이때 해당 controller를 찾고 경로에 따라 실행을 하기 때문에 실제 css, js가 존재하는 경로는 잘못된 경로로 인식하게 되어 페이지에러가 난다. 이를 해결하려면 sevelrt-context.xml 에서 resources 를 설정하면된다 sevelrt-context.xml 아래의 코드의 뜻은 resources를 시작하는 모든 요청은 controller를 거치지 않고 resources폴더에서 바로 찾아라 라는 뜻..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVaUhv%2FbtqD2HBi7Jd%2Fvw9KkMtdnJk034xanhq4Mk%2Fimg.png)
mybatis를 통해 주어진 값에 따라 다르게 실행 할 수 있는 방법이 존재한다 대표적으로 , 이다 태그 사용 controller @Controller public class HomeController { @Inject SqlSession sqlSession; @RequestMapping(value = "pooney", method = RequestMethod.GET) public String pooney(@RequestParam String id) { System.out.println("id : "+ id); List list = sqlSession.selectList("list.selectlist" ,id); System.out.println(list); return "index"; } } xml w..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmpWfH%2FbtqD1OOD1L8%2FKfYjenCKqpivkHOGUm3N00%2Fimg.png)
흔히 조건절은 , 태그가 대표적으로 존재한다. 단일 파라미터를 던져서 값에 따라 다르게 실행 시키고 싶은데 이때 when절에서 변수명을 잘못하여 getter 에러를 발생시키는 실수가 발생한다. getter 에러 발생 controller @Controller public class HomeController { @Inject SqlSession sqlSession; @RequestMapping(value = "pooney", method = RequestMethod.GET) public String pooney(@RequestParam String id) { System.out.println("id : "+ id); List list = sqlSession.selectList("list.selectlist..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FwqhKG%2FbtqDXuh2tUK%2FjXC5WQmeb2ubwIBa0qeFw1%2Fimg.png)
resultMap 태그는 일반적으로 DTO클래스의 변수명과 DB 테이블의 필드명이 서로 일치 하지 않을 경우 사용한다 resultMap = (멤버변수 변수명 != DB테이블의 필드명) resultMap 사용법 controller @Controller public class HomeController { @Inject SqlSession sqlSession; @RequestMapping(value = "addlist", method = RequestMethod.GET) public String addlist() { System.out.println("addlist"); List list = sqlSession.selectList("list.selectlist"); System.out.println(list..
![article thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc4fU4x%2FbtqDWsZjZoe%2FLseJLaVxQHM3rlPEl8POhK%2Fimg.png)
객체 안에 있는 콜렉션이나 객체에 값을 넣어야하는 경우가 발생한다 이때 mybatis의 collection 태그를 이용하여 해결 할 수 있다. collection 태그 controller @Controller public class HomeController { @Inject SqlSession sqlSession; @RequestMapping(value = "addlist", method = RequestMethod.GET) public String addlist() { System.out.println("addlist"); List list = sqlSession.selectList("list.selectlist"); System.out.println(list); return "index"; } } ..