전체 글

전체 글

    2020.04.21 MVC(7) (JSR-303, JSR-380, Validator 커스터마이징, Interceptor)

    2020.04.21 MVC(7) (JSR-303, JSR-380, Validator 커스터마이징, Interceptor)

    JSR-303 어제 했던 연장으로 하겠다. 똑같다 방식은. 어제는 Max 와 Size를 했었다. 오늘은 @AssertTrue : true가 아닌 값이 들어오면 오류 @AssertFalse : false가 아닌 값이 들어오면 오류 @Max(값) : 값 보다 큰 값이 들어오면 오류 @Min(값) : 값 보다 작은 값이 들어오면 오류 @DecimalMax(value=값, inclusive=true/false) : 값보다 작거나 같은 값이 들어와야 한다. inclusive 가 false면 값은 포함하지 않는다. 생략하면 true 이다. @DecimalMin(value=값, inclusive=true/false): 상동. min과 max는 이상 이하 이다. 이건 보통 초과 미만 때 사용한다. @Null : 값이 ..

    2020.04.20 MVC(6) (쿠키, 유효성 검사, JSR-303)

    2020.04.20 MVC(6) (쿠키, 유효성 검사, JSR-303)

    Cookie * 사용자 웹 브라우저에 저장되는 데이터이다. * 요청이 발생했을 때 웹 브라우저는 쿠키에 저장된 정보를 서버에 전달하게 된다. * 만약 응답 결과로 쿠키 정보가 전달되면 웹 브라우저가 쿠키에 저장하게 된다. * 쿠키는 사용자 브라우저에 저장되는 것이므로 브라우저가 전달 해 줄 때만 쿠키 정보를 사용할 수 있다 Cookie 저장 * 서버 측 코드로 쿠키에 데이터를 저장할 수 있는 방법은 없다. * 브라우저로 보낼 응답 결과에 저장할 쿠키 정보를 담아 보내면 브라우저에 의해 쿠키가 저장된다. * Spring MVC에서 쿠키 저장은 Servlet/JSP에서 사용하는 방법으로 처리한다. load는 배열로 쿠키를 받아와서 getName을 하나씩 따져보는 방법이 있지만 그냥 바로 어노테이션을 이용하여..

    2020.04.17 MVC(5) ( SessionScope, ApplicationScope)

    2020.04.17 MVC(5) ( SessionScope, ApplicationScope)

    Session 은 브라우저가 최초로 서버에 요청을 하게 되면 브라우저당 하나씩 메모리 공간을 서버에서 할당하게 된다. 이 메모리 영역은 브라우저당 하나씩 지정되며 요청이 새롭게 발생하더라도 같은 메모리 공간을 사용하게 된다. 이 영역은 브라우저가 종료될 때 까지 서버에서 사용할 수 있다. sessionScope 에서 session 영역에 저장되어 있는 데이터를 사용할 수 있다. HttpServletRequest request reqeust.getSession() 을 통해 session을 사용할 수도 있지만 HttpSession session 으로 바로 사용할 수도 있다. 또는 다음과 같이 @SessionAttribute("id value") 형식자 이름 을 통해 받아올 수도 있다. Session 영역에 ..

    2020.04.16 MVC(4) ( Bean 주입 java/xml, form 태그, redirect, forward, requestScope )

    2020.04.16 MVC(4) ( Bean 주입 java/xml, form 태그, redirect, forward, requestScope )

    select 태그이다. path와 같은 값이 처음 화면에서 보이게끔 나와진다. 배열과 ArrayList를 model.addAttribute를 하여 받아올 수도 있다. 이 떄에는 options 태그를 사용한다. data_list1 은 배열이고 data_list2 은 ArrayList 이다. 각 data1, data2, data3 값을 집어 넣었고 path 값에 따라 첫 화면에 나오는 데이터가 정해지고 맨 위의 항목1 이렇게 나오는 것과 달리 데이터 값 그대로 data1, data3 으로 나온 것을 확인할 수 있다. key 값과 value 값을 가진 KeyValueBean을 만들어서 key 와 value 값을 넣고 arrayList에 넣어서 model 객체에 주입해주고 난 뒤에, 다음과 같이 사용하게 되면 ..

    2020.04.14-15 MVC(3) (파라미터 받아오기2, 커맨드 객체)

    어제 @RequestParam int data1 이렇게 클라이언트한테서 받아오는 방법이 있었다. 만약 data가 1,2,3,4,5 이렇게 여러개 있다면 일일이 다 선언해주는 것이 아니라 map 을 이용해 한 번에 받아올 수가 있다. public String test1(@RequestParam Map map, @RequestParam List data3 ) { String data1=map.get("data1"); String data2=map.get("data2"); String data33=map.get("data3"); System.out.println("data1 : "+data1); System.out.println("data2 : "+data2); System.out.println("data3 ..

    2020.04.13 MVC(2) (파라미터 받아오기)

    라밑지난번 스프링때 배웠던 것을 다시 복습하는 느낌이다. 컨트롤러에서 @RequestMapping(value="/경로", method=RequestMethod.GET) 식이며 경로는 요청된 곳에서 보내는 경로이다. 예시로 index.jsp 에서 test 이렇게 보내면 이제 value="/test" 로 받게되는 것이다. 그런데 이제 여러개가 경로가 /sub/test1 /sub/test2 이렇게면 그 Class 위에 @RequestMapping(value="/sub") 를 적어서 한 번에 처리해줄 수가 있다. method=RequestMethod.POST/GET 으로 GET,POST 구분을 해줄 수도 있지만 @GetMapping(value="/test") @PostMapping(value="/test") 이..

    2020.04.10 static에 대해서 & MVC(1)

    2020.04.10 static에 대해서 & MVC(1)

    클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. static이 붙은 멤버변수는 인스턴스를 생성하지 않아도 사용할 수 있다. 메모리에 올라가는 단계에서 자동적으로 생성되기 때문이다. static이 붙은 메서드 안에서는 인스턴스 변수를 사용할 수 없다. 메서드 내에서 인스턴스 변수를 사용하지 않는다면 static을 붙이는 것이 좋다. 속도가 빠르기 때문이다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ servlet jsp jstl springmvc 를 maven repository를 검색해서 나오는 곳에서 검색을해서 해당되는 코드를 복사해서 pom.xml에 붙여놓는다. 다음과 같이 xml의 build 태그 밑에 붙인다. 그리고 Dispatcher Servlet 클래스를 Spr..

    2020.04.08 자바 훑기 (String 클래스, StringBuilder 클래스, 각종 Collection)

    2020.04.08 자바 훑기 (String 클래스, StringBuilder 클래스, 각종 Collection)

    지금까지 C,C++,Python 만 주구장창 이용해왔었고, 코딩문제도 C++ 로 풀곤 하였었는데, 이제 자바 기반의 프로그램을 할 것이기 때문에 자바와 친해지고 코딩문제도 자바로 푸는 것이 도움이 될 것이라고 생각해서 자바 언어를 다시 공부한다. String 클래스에 대해. String str1=new String("abc"); String str2=new String("abc"); str1.equals(str2) ==> 같다. String str1="wow"; String str2="wow"; 같은 인스턴스를 참조한다. 위의 new 는 그렇지 않다. String str1="Coffee"; String str2="Bread"; String str3=str1.concat(str2); str3 ==> Cof..