스프링에서 선언적 트랜젝션은 만족할 만큼 세밀하지 못하다. 그렇다고 그 방법이 잘못된 것은 아니다. 우선 Transaction을 적용하는 방법은 Spring의 TransactionTemplate를 이용해 메소드에 트랜젝션 범위를 프로그래밍 하는 것이다. TransactionTemplate도 콜백 메커니즘을 활용한다. public void saveSpittle(final Spittle spittle) { transactionTemplate.execute(new TransactionCallback() { try{ spitterDao.saveSpittle(spittle); } catch (RuntimeException e) { txStatus.setRollbackOnly(); throw e; } return ..
@PreConstruct 컨테이너에서 객체를 제거하기 전에 해야할 작업을 수행하기 위해 사용 - 위 내용이 먼말인지 이해가 안되지만 -_-; Pre 니까 post와는 다른 순으로 객체 속성이 주입전에 메서드 실행인 것 같다. @PostConstruct : - 의존하는 객체를 설정한 이후에 초기화 작업을 수행할 메서드에 적용 - init-method 속성과 같음 // class 내에 java의 선언적 함수를 이용하면 @PreContruct 같은 느낌을 할 수 있지 않을까 생각해본다.
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if ((null == request.getSession(false)) || (null == request.getSession(false).getAttribute( "user"))) { System.out.println("user logged out..."); RequestDispatcher rd = request.getRequestDispatcher("loginForm.htm"); rd.forward(request, response); return false; } return super.preH..
출처 : http://hellogk.tistory.com/86/** * redirect 신규페이지로 넘기기 위한 컨트롤러 * @return */ @RequestMapping("/redirectnewpage") public String redirectnewpage(RedirectAttributes redirectAttributes){ Map map = new HashMap(); map.put("key1", "value1"); map.put("key2", "value2"); redirectAttributes.addFlashAttribute("vo", map); return "redirect:/herepage"; }
junit을 이용하여 단위 테스트를 작성하여 현재 개발된 애플리케이션의 동작이 정상적으로 구동 되는지 확인할 수 있고, Meven 등으로 Build 시에도 단위 테스트가 먼저 작동된 후 Build 됨으로 현재 변경한 내용들이 기존 동작에 영향을 미치는지 확인 할 수 있다. 필요 라이브러리 junit junit 4.11 test org.mockito mockito-all 1.9.5 test org.springframework spring-test 3.2.3.RELEASE test 스프링 테스트하기 위해 @RunWith로 SpringJUnit4ClassRunner를 사용해 spring-test를 확장한다.@SpringApplicationConfiguration은 스프링을 사용하기 위해 설정한 설정 클래스를 ..
http://stackoverflow.com/questions/21173283/display-the-locale-in-a-jstlDisplay the locale in a JSTLIn a jstl page i want to display the current locale being used to render the page. The page locale is working just fine. When i switch...stackoverflow.com 사용하면 locale 값을 알 수 있다.
JSP 내장객체 jsp 내장객체란 jsp 내에 선언하지 않고 사용하는 객체라는 의미에서 붙여진 이름. 간단하게 jsp 컨테이너에 의해 미리 선언되어 있는 클래스 인스턴스 이름으로 생각하면 된다. 내장객체 종류 requestresponsepagecontextsessionapplicationoutconfigpageexception request request 주로 HTML form 을 통해 전달되는 값을 가지고 올때 사용한다. responseresponse는 사용자 요청에 대한 응답을 처리하기 위한 것이다.주로 헤더와 관련된 정보를 가지고 있다. config 서블릿이 최초로 메모리에 적제될때 컨테이너는 서블릿 초기화와 관련된 정보를 읽고 java.servlet.ServletConfig 객체에 저장한다.이..
필터는 Http 요청과 응답을 변경할 수 있는 부분을 담당한다.필터는 객체의 형태로 존재하며, 클라이언트로 부터 오는 요청 (request)과최종자원(서블릿/jsp/기타문서) 사이에 위치하여 사용자 정보를 알맞게 변경할 수 있으며, 최종자원과 클라이언트로 가는 응답 (response) 을 알맞게 변경할 수 있다. 또한 클라이언트와 자원사이에 한개의 필터만 존재하는 것이 아니라 여러개의 필터를적용 할 수 있으며, 그 순서에 맞게 체인(chain) 을 형성하게된다. 요청정보는 필터의 순서에 맞게 이어져서 전달되고, 응답정보는 그의 역순으로 전달 된다. ps )Spring interceptor 나 이런 처리도 filter를 이용하여 url 맵핑을 잘 해준다면 잘 처리 할 수 있을 것같다. 확장판인가..??
다양한 시점에서 발생되는 이벤트와 이벤트를 처리하기 위한 인터페이스 정의시 사용됨. javax.servlet.ServletContextListener 인터페이스를 구현한 클래스를 작성한다.web.xml에 작성한 클래스를 등록. 기본적으로 public void contextInitailzed(ServletContextEvent sce) : 웹 애플리케이션 초기화 될때 호출 public void contextDestroyed(ServletcontextEvent sce) : 웹 애플리케이션이 종료 될때 호출 위 내용은 세션이 종료되는 시점을 제어하거나 기타 특정 시점에 어떤걸 실행하겠다 할때 하는 부분 인듯 하다. 동시접속 불가 기능 개발시 알게된 내용이라 찾아봄.
- Total
- Today
- Yesterday
- Kotlin
- mybatis Merge
- jstl foreach
- coroutine
- java 특정문자 갯수구하기
- 코루틴
- java calendar
- Database#transaction
- java 압축 풀기
- POE Excel 만들기
- github image 첨부시 주의할점
- java 폴더구조 구하기
- spring ExcelView
- spring property
- jstl 커스텀 태그
- jstl split
- java 설치
- 전자정부프레임워크 tiles
- java 설정
- JSP 세션
- JSTL
- MyBatis 팁
- POI EXCEL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |