Spring JDBC를 사용하지 않고 DB를 사용하기 위해선, Driver를 로드하고 connection을 맺고 statement 준비를 하고 query를 실행하기까지 여러 코드를 적어야했다. 이런 저수준의 작업들은 Spring JDBC를 이용하여 간단하게 처리할 수 있다.Spring JDBC 패키지org.springframework.jdbc.coreorg.springframework.jdbc.datasourceorg.springframework.jdbc.objectorg.springframework.jdbc.support 위와 같은 패키지를 사용하고, 이 중 core에는 JDBC Template이라는 중요한 클래스가 있다.JDBC Templateorg.springframework.jdbc.core에서 ..
BeanBean은 Spring Bean Container에 존재하는 객체를 말한다. Bean Container는 의존성 주입을 통해 Bean 객체를 사용할 수 있도록 해준다. Bean은 보통 싱글턴으로 존재한다.XML ConfigurationJava 코드를 이용한 Context 설정이 나오기 전 사용하던 방법이다. applicationContext.xml이라는 파일을 src/main/resources 폴더에 추가시킨 후 bean을 등록한다. 아래 코드처럼 작성할 수 있다. beans 태그 아래에 bean 태그가 여러개 있는 것을 볼 수 있다. bean 태그의 id가 bean의 이름이 되고 class에 어떤 클래스를 bean으로 만들지 패키지명을 포함하여 적으면 된다. bean 태그 아래에 property..
DB 연결시 필요한 정보를 따로 저장하기 위해 properties 파일을 사용할 수 있다. .properties 확장자로 프로젝트 내에 만들면 되며, 아래 코드처럼 사용할 수 있다. InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("application.properties"); Properties prop = new Properties(); prop.load(inputStream); DB_URL = prop.getProperty("database.url"); DB_USER = prop.getProperty("database.username"); DB_PASSWD = prop.getProp..
Event Listener 등록Event Listener를 DOM load 후에 등록하여 조건에 따라 UI가 바뀌게 해야한다. document.addEventListener("DOMContentLoaded", function() { var list = document.querySelectorAll("div"); for(var i = 0 len = list.length; i < len; i++) { list[i].addEventListener("click", function() { console.log(list[i]); }); } });위와 같이 "DOMContentLoaded"를 매개변수로 넣어서 document에 event listener를 등록할 수 있다. 추가로 querySelector 함수를 이용..
Maven을 이용하여 프로젝트를 만들면 종속성을 관리하기가 아주 쉬워지므로 여기에 정리한다.Maven 웹 프로젝트 생성이클립스에서 File -> New -> Other에서 Maven -> Maven Project를 선택한다. Next를 하다보면 아래 그림 2처럼 Archetype을 선택하는 창이 나온다. Archetype은 일종의 프로젝트 템플릿이라고 할 수 있다. 어떤것을 선택하느냐에 따라서 자동으로 여러가지 파일들을 생성하거나 라이브러리를 셋팅해준다.maven-archetype-webapp을 선택하고 Next를 누르자. 아래 그림 3처럼 여러가지 값을 적는 창이 나타난다.Group Id는 프로젝트를 진행하는 회사나 팀의 도메인 이름을 거꾸로 적는다. Artifact Id는 해당 프로젝트의 이름을 적는..
웹 어플리케이션에서 데이터는 scope에 따라 접근 범위나 수명이 달라진다. scope는 page, request, session, application 네가지가 있다. Page scope지역 변수와 비슷해서 거의 안쓰인다. 만약 쓰고 싶다면 jsp 내에서 pageContext.setAttribute, pageContext.getAttribute를 이용해서 사용할 수 있다. pageContext는 jsp의 내장객체로 이미 존재해서 따로 정의할 필요없이 사용가능하다.Request scope요청을 받아서 요청이 끝날때가지 유지되는 scope이다. forward를 사용하여 다른 servlet이나 jsp로 값을 넘겨줄 때 사용할 수 있다. jsp 내에서 request 내장객체로 setAttribute, getA..
Git에 .classpath와 .project 파일 등 gitignore에서 프로젝트 설정과 관련해서 저장소에 올리지 않는 파일이 있으면, 나중에 clone하여 작업할 때 다시 프로젝트 속성을 설정 해야한다. 1. 프로젝트 우클릭 후 Properties에 들어간다. 2. Java Build Path 카테고리에서 Libraries 탭에 들어간다. 3. JRE System Library를 jdk 경로에 맞게 설정한다. 4. JSP와 Servlet의 인식이 안되는 것을 방지하기 위해 외부 jar 파일들을 추가한다. 설치한 apache의 lib폴더에서 jsp, servlet api를 추가한다. 5. Project Facets에서 Dynamic Web Module과 Java를 선택하여 적용한다. (버전 설정도 잊..
Redirect요청받은 Servlet이 redirect를 한다면 헤더에 결과값으로 30x를 보내고 redirect할 URL을 같이 보낸다. 그러면 Client는 결과값이 30x임을 확인하고 Server에 해당 URL로 요청을 다시 보내게 된다. 보통 302가 결과값으로 들어가는데 자세한 것은 아래 참고 링크를 확인하자. 요청이 두 번이므로 Request와 Response 객체가 2번 만들어지게 된다. 그리고 요청을 다시 보내는 것이기 때문에, 결과 주소가 달라지게 된다. ForwardRedirect와 달리 응답은 한 번이고, 서버 내부에서 역할을 위임한다. 따라서 Request, Response 객체를 같은 것을 사용하며, Forward를 한 Servlet1의 Request, Response 객체가 Fo..
- Total
- Today
- Yesterday
- spring
- Check point within polygon
- Bean
- npm
- Linux
- @Autowired
- thymeleaf cannot resolve
- Express
- unity
- mybatis
- @Qualifier
- spring batch
- 클로저
- @Bean
- JavaScript
- Closure
- Barycentric coordinates
- thymeleaf 변수 인식
- MySQL
- Tasklet
- chunk
- Bin
- @Component
- nodejs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |