전체 게시글376 [Spring] @ModelAttribute / 두가지 컬렉션을 View로 보내기 / @RequestMapping 어노테이션보다 먼저 실행되는 메서드 만들기 두가지 기능을 가진 @ModelAttribute @ModelAttribute를 Controller 메서드의 매개변수로 선언된 Command 객체의 이름을 변경할 때 사용할 수 있다고 배웠다. 추가로, View(JSP)에서 사용할 데이터를 설정하는 용도로도 사용할 수 있다. @ModelAttribute가 설정된 메서드는 @RequestMapping 어노테이션이 적용된 메서드보다 먼저 호출된다. 그리고 @ModelAttribute 메서드 실행 결과로 리턴된 객체는 자동으로 Model에 저장된다. 따라서 리턴된 객체를 View 페이지에서 사용할 수 있다. 두개의 컬렉션을 리턴 예를 들면, 다양한 검색 조건이 저장된 Map을 리턴해준다고 하자. 아래 코드와 같이 총 2개의 컬렉션을 사용할 수 있다. @Model.. 2023. 3. 6. [Spring] @RequestParam / Command 객체 사용시 DTO(Data Transfer Object) 클래스에 명시되지 않은 변수를 포함하고 싶은 상황 / DTO에 없는 멤버 변수의 파라미터 정보 Command 클래스에 없는 파라미터 Command 객체를 이용하면 클라이언트에서 넘겨준 요청 파라미터 정보를 받아낼 수 있다. 하지만 이를 위해서는 반드시 요청 파라미터와 맵핑될 멤버변수와 Setter 메서드가 Command 클래스에 선언되어 있어야 한다. 그런데 Command 객체에는 없는 파라미터를 Command 클래스에서 사용하려면? Spring MVC에서는 HTTP 요청 파라미터 정보를 추출하기 위해서 어노테이션을 통해 기능을 제공한다. 물론, 어노테이션을 사용하기 싫다면 멤버변수에 추가, Setter/Getter 메서드를 추가해서 사용하면 된다. 사용자가 글 목록 화면에서 검색 조건과 검색 키워드를 입력하고 검색 버튼을 클릭하면 "/getBoardList.do"와 매핑된 getBoardList.. 2023. 3. 6. [Spring] request.getParameter() 대체 / Spring의 Command 객체 /Controller에서 사용자 입력 정보를 getParmeter() 메서드가 아닌 Command 객체를 이용해서 구현 request.getParameter() 대부분의 Controller는 사용자의 입력 정보를 추출하여 VO(Value Object)나 DTO(Data Transfer Object) 객체에 저장한다. 그리고 비즈니스 컴포넌트의 메서드를 호출할때 이를 인자로 전달한다. 아래 코드를 보자. 사용자 입력 정보는 HttpServletRequest의 getParameter() 메서드를 사용하여 추출한다. 별다른 문제는 없으나, 사용자가 입력하는 정보가 많거나 변경되는 상황이 발생할 뿐더러 메서드가 굉장히 길어진다.. 이는 Command 객체를 이용하면 해결할 수 있다. @Controller public class InsertBoardController { @RequestMapping(value="/insertBoa.. 2023. 3. 6. [Spring] ViewResolver를 적용했을 때, 이를 무시하고 리다이렉트 디시키는 방법 / redirect: 로그인에 성공하거나 실패했을 때 Controller에서는 사용자에게 다른 페이지를 보여줘야한다. 이때 ViewResolver(suffix,prefix)를 적용한 상태라면, ModelAndView 객체에 저장되는 View 이름은 ViewResolver 설정을 고려하여 등록해야 한다. ViewResolver가 설정되어 있어도 이를 무시하고 리다이렉트 시키는 방법이 있다. ModelAndView mav = new ModelAndView(); if( user != null ) { mav.setViewName("redirect:getBoardList.do"); } else { mav.setViewName("redirect:login.jsp"); } return mav; "redirect:"를 붙이면 된다. 2023. 3. 6. [Wireshark] TCP 장애 대응 순서 DOD Model을 기반으로 총 Accss 수준, Network 및 Tansport 수준, Application 수준으로 나누어서 분류한다. 1. Access 수준 1) Segment의 Lost (유실)인지? 2) Out of order 순서에 문제가 있는지? Access 수준에서 발생하는 장애는 심각한 문제이다. Segment의 유실과 ACK 순서에 오류이니.. 해당 데이터들은 더 볼필요도 없이 오류 투성일 것이다. 2. Network 및 Tansport 수준 1) 재전송 요구(Retransmission) 2) duplicate ACK 위 그래프를 보면 연두색 바와 동일하게 트래픽이 급격히 증가한 구간을 볼 수 있다. 이를 통해 추측할 수 있는 사실은, 데이터 량이 급격히 증가해서 트래픽이 증가한게 아.. 2023. 3. 6. [WireShark] 네트워크 패킷 분석 도구 / 필터 문법 정리 자주 사용되는 Filter 문법 ==, and, && 또는||, or 사용 예 ip.src == 1.1.1.1 ip.dst == 1.1.1.1 ip.addr = 1.1.1.1 ==, and, && 또는||, or 등의 부정 주의! (ip.addr != 1.1.1.1)이 아님. 사용 예 !(ip.src == 1.1.1.1) !(ip.dst == 1.1.1.1) !(ip.addr == 1.1.1.1) Http 응답 코드 사용 예 http.response.code == 404 http.response.code == 500 Http 호스트 이름 사용 예 http.host contains "naver" http.host contains "com" http.host contains "www" Http 요청 uri .. 2023. 3. 6. 이전 1 ··· 20 21 22 23 24 25 26 ··· 63 다음