목록Spring (72)
똑같은 삽질은 2번 하지 말자
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cHsC4G/btqzMeSvovc/WbaKcik8PvdlkI5fXVkbN0/img.png)
위와 같은 에러는 spring을 해본 사람들은 한번쯤은 겪어본적 있다고 생각한다. 보통 저렇게 뜨면서 500에러가 나면서 아예 HomeController도 작동이 안되는 경우, spring version 이 5이상을 쓰고 계신분이면 pom.xml에 있는 라이브러리도 vesion 업을 시켜줘야 해야한다. https://github.com/spring-projects/spring-framework/wiki/Upgrading-to-Spring-Framework-5.x spring-projects/spring-framework Spring Framework. Contribute to spring-projects/spring-framework development by creating an account on G..
@RequestMapping(path ="search", method=RequestMethod.GET) public String search(@Validated AccountSearchForm form, BindingResult result,Model model) { if(result.hasErrors()) { return "account/searchForm"; } return "account/searchResult"; } Spring 에서도 유효성 검사가 된다. 뭐가 효율적인지는 잘 모르겠다 프론트단에서 javascript 를 이용해 검사를 해주는게 더 좋은지
1. 프록시 패턴 정의 실제 기능을 수행하는 객체Real Object 대신 가상의 객체Proxy Object를 사용해 로직의 흐름을 제어하는 디자인 패턴입니다. 2. 프록시 패턴 특징 원래 하려던 기능을 수행하며 그외의 부가적인 작업(로깅, 인증, 네트워크 통신 등)을 수행하기에 좋습니다. 비용이 많이 드는 연산(DB 쿼리, 대용량 텍스트 파일 등)을 실제로 필요한 시점에 수행할 수 있습니다. 사용자 입장에서는 프록시 객체나 실제 객체나 사용법은 유사하므로 사용성이 좋습니다. 결제 인터페이스 public interface Payment { void pay(int amount); } 현금 결제 클래스 public class Cash implements Payment{ @Override public void..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/6Fgvk/btqx8TU9vw7/rRq2VWwxZpnSkKjA03T8w0/img.png)
@ResponseBody 하고 너무나 비슷한 친구이지만, 차이점이 있었다. Spring에서는 HttpEntity란 클래스를 제공하는데 이 클래스의 역할은 Http 프로토콜을 이용하는 통신의 header와 body 관련 정보를 저장할수 있게 한다. 그리고 이를 상속받은 클래스로 RequestEntity와 ResponseEntity가 있고, 즉, 통신 메시지 관련 header와 body의 값들을 하나의 객체로 저장하는 것이 HttpEntity 클래스 객체이고 Request 부분일 경우 HttpEntity를 상속받은 RequestEntity가 Response 부분일 경우 HttpEntity를 상속받은 ResponseEntity가 하게 된다. @ResponseBody나 ResponseEntity를 return ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bCPutl/btqxyLpZuFi/RlKN5TAzBQxVHU2Lyuz4MK/img.png)
Lombok은 Java 개발 시 자주 사용하는 getter/setter, toString(), 생성자 등을 자동으로 생성해 주므로 약간의 코드만으로도 필요한 클래스를 설계할 때 유용하다. Lombok은 다른 jar 파일들과 달리 프로젝트의 코드에서만 사용되는 것이 아니라 Eclipse 에디터 내에서도 사용되어야 하기 때문에 별도로 설치한다. http://projectlombok.org/download 에서 jar 파일 형태로 다운 가능 다운 받은 jar 파일있는 디렉토리로 이동해 실행가능하다. 추가해야할 Maven org.projectlombok lombok 1.16.10
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/L1nvF/btqxfdtHu8n/Op52rBTJ29xHJzEQpiQzH1/img.png)
우선 @RequestBody, @ResponseBody가 필요한데 이 둘의 역할은 @RequestBody => HTTP 요청 몸체를 자바 객체로 변환 @ResponseBody => 자바 객체를 HTTP 응답 몸체로 변환 그리고 @RequestBody로 받을 경우는 Request Stream을 닫아버리기 때문에 2개 이상을 사용할수 없다..하나로 받고 Stream을 닫는다고 생각하시면 된다고 한다. 이것도 모르고 @RequestBody 를 여러개 사용해서 받을려고 했다 나는.... 그래서 위 처럼 맞닥들인 오류는 그래서 저는 Map을 이용해서 두개의 값을 받아주었다. 여기서 ajax 에서 주의해야했던 점이 JSON.stringify로 data를 JSON 문자열 형태로 바꿔서 넘겨줘야했던점이다. JSON.s..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c9iQQ2/btqxdrZw8J4/YCHsUiYB0Wx4per6ZuDauK/img.png)
오류는 클라이언트에서 서버로 Ajax 를 이용해서 비동기 요청를 했을 때 계속 발생했다. 오류는 '415' 였다. 415 오류는 지원되지 않는 형식으로 클라이언트가 요청을 해서 서버가 요청에 대한 승인을 거부한 오류를 의미한다. 이럴 경우에는 ContentType, Content Encoding 데이터를 확인할 필요가 있다. 결국 나는 AJax 요청을 했을 때, ContentType을 명시하지 않았기 때문에 오류가 발생했던 것이다. 그래서 contentType: "application/json; charset=UTF-8" 를 Option을 명시해 주었다. 오늘은 Ajax Option에 대해 알아보도록 하자. (1) async (boolan, default : true) - 해당 함수를 비동기 처리를 할지..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zK13x/btqxcOAFWy1/21SE1NNKjmbfCpAbsyhCPK/img.png)
name="mber_id"를 가진 태그가 view에 두개 존재할시 스프링에서 받을때 이런식으로 값,값 두개로 받아들이므로 주의하자!
무려 4시간동안 삽질했습니다.. 원인은 해당 테이블의 레코드를 다른 곳에서 잡고있어서 였는데, 예를 들면 SqlDeveloper와 같은 sql툴에서 업데이트(혹은 삭제)를 하고 커밋을 안한 상태에서, 애플리케이션에서 해당 값을 또 업데이트를 한다면 계속 기다리는 상태이다. 본인 혹은 다른 자리에서 커밋을 안하고 그 레코드 값을 계속 잡고 있는 경우에 그럴 수 있습니다. 정보처리기사에서도 이런 내용이 나왔던거 같은데...확실히 정보처리기사도 필요한 공부구나 싶은 하루
https://yangyag.tistory.com/218 JSP 에서 Formatter(정렬) 환경설정 변경하기 이클립스(Eclipse) 에서 ctrl + shift + f 키를 누르면 자동 정렬이 된다. 그런데 기본 세팅에서는 정렬을 해도 되려 더 지저분(?) 해 지는 현상이 벌어진다. 따라서 다음과 같이 수정을 해 주어야 정상적으로 잘.. yangyag.tistory.com 감사합니다 소중한 글... 속이 다 시원하다