본문 바로가기

java spring/spring mvc9

spring mvc 09 - POST 한글을 필터추가하여 출력하기 #2 사용자가 화면에서 문자들을 POST로 UTF-8 인코딩 타입으로 날린다 하더라도, 톰캣 서버는 디폴트로 ISO-8859-1 인코딩 방식으로 문자들을 받는다. 그래서 서버에서 다시 클라이언트에게 문자를 돌려줄 때, 한글이 깨질 수 있다. 이러한 현상을 필터를 추가하여 막을 수 있다. 톰캣이 문자를 받을 때 필터를 두어 UTF-8 인코딩 방식으로 걸러진 문자를 서버에서 받는 것이다. 이를 위에서는 web.xml에 다음과 같은 코드를 추가해야 한다. 맨 아래쪽에 /*으로 해서 모든 url들이 필터를 거치도록 하였다. 이제 모든 url이 필터를 거치도록 하였으니 한글 값을 날려보자. 필터 설정 전: 필터 설정 후: https://www.youtube.com/watch?v=FtpTetscbp8&list=PLq8w.. 2021. 5. 12.
spring mvc 08 - POST날리기 #1 https://www.youtube.com/watch?v=CELRPOwlcuk 1. input박스 텍스트를 POST로 날리고 받기 확실히 스프링을 쓰면 POST날리고 받기도 훨씬 쉬운 것 같다. 먼저 html은 다음과 같다. form action = "reg" 에서 보이듯이 위의 화면에서 등록버튼을 누르면 reg로 해당 내용들을 날린다. reg에 매핑된 컨트롤러는 아래와 같다. reg로 post한 데이터들이 날라오면, String title, String content 처럼 reg메서드의 인자로 값들을 받을 수 있다. 그러면 그것을 단순히 출력하는 예제이다. 한번 등록버튼을 누른 결과를 보자. 입력한 값이 컨트롤러에 잘 전달된 것을 알 수 있다. 2. select박스 POST로 날리고 받기 이번에는 셀렉.. 2021. 5. 11.
spring mvc 07 - @RequestParam으로 쿼리스트링 받기 @RequestParam 스프링을 사용하면 쿼리스트링을 정말 편리하게 받을 수 있다. 스프링 MVC가 제공하는 프론트 컨트롤러가 쿼리스트링을 받아준다. 우리가 해야할 것은 url을 매핑하는 컨트롤러 클래스에서 어오테이션을 쓰고, 쿼리스트링은 어떻게 받을지만 설정해주면 된다. @RequestParam으로 쿼리스트링을 받아보자 @RequestParam 어노테이션으로 받을 쿼리스트링의 정보를 "p"로 받겠다고 name="p"로 선언해준다.(value="p"라 써도 같은 표현) 그리고 defaultValue="1"로 지정해서 사용자가 customer/notice/list 처럼 쿼리스트링을 전달하지 않았다면 그 기본값을 "1"로 설정해줄 수도 있다. 그리고 자바 코드안에서는 String page를 선언함으로써 ".. 2021. 5. 8.
spring mvc 06 - @RestController로 JSON응답하기 @ResponseBody혹은 @RestController를 사용하면 문자열을 그대로 반환할 수 있다. stringTest메소드를 보면 그냥 문자열을 반환해주는 것을 볼 수 있다. 또한 문자열을 출력해주는 @RestController를 클래스 위에 선언하면 메소드 위의 @ResponseBody를 생략할 수 있다. 이렇게 문자열을 출력하기 위해서는 servlet-context.xml에 MessageConverter 의존성을 추가해줘야 한다. 또한 위의 xml의 38라인에서 보이듯이 UTF-8을 추가해줘야 한글 출력도 가능해진다. 이제 JSON 객체를 반환하도록 해보자. 우선 pom.xml에 jackson 의존성이 필요하다. 현재 메이븐 프로젝트이므로 아래의 의존성만 추가하면 알아서 필요한 라이브러리들을 받아.. 2021. 5. 7.