Web/Servlet && Spring
-
[Spring] return 타입 정리Web/Servlet && Spring 2019. 8. 25. 13:51
리턴타입을 String - view의 이름지정 리턴 void - 요청url을 기반으로 view가 지정 Model Object - Pojo클래스를 기반으로 view를 지정한다. 스프링사용시에는 return 타입이 여러개이다. map의 경우 잘 사용하지 않고 그 외에 자주 사용하는 것을 정리해 보았다. @RequestMapping(value="/my/my_string.do", method=RequestMethod.GET) public String myString(Model model){//리턴 페이지를 명확하게 보여주는 방식 model.addAttribute("tok",new TokTok("my_string")); return "my/my_string"; } @RequestMapping(value="/my/..
-
[Spring] ModelAndView사용법Web/Servlet && Spring 2019. 8. 25. 12:36
Spring을 배울때 request.setAttribute를 위해서 Model이라는 객체를 사용한다고 했다. 근데, ModelAndView라는 클래스가 나왔다. 이 기능은 ModelAndView("이동할 페이지","키",value)를 한번에 하는 것이다. 예로 두가지를 보여주겠다. //방법1. return 값을 String 형으로 만들어 주고 Model을 따로 장착시키는 방법 //return은 view의 이름을 명시해주고, view에서 사용될 model은 따로 주입을 하는 방법 @RequestMapping(value="/student01.do", method=RequestMethod.GET) public String student01(Model model){ model.addAttribute("stude..
-
[Spring] @ModelAttribute 사용법Web/Servlet && Spring 2019. 8. 25. 12:09
@ModelAttribute을 사용할땐 너무 생소했다. 예를들면 아래 처럼 사용하는 것인데 당최 어떤식으로 동작한다는 건지..ㅎㅎ //student.jsp에서 값을 입력하면 result.jsp로 전달 @RequestMapping(value="/add/student.do",method=RequestMethod.POST) public String result(@ModelAttribute Student student, Model model){//ModelAttribute한번더 찾아보기 model.addAttribute("student", student); return "student/result"; } 이해를 위해 검색을 해보았더니, 클라이언트(student.jsp)가 전송한 정보와 자바빈의 프로퍼티가 1:1..
-
[Spring] 스프링 포트 에러 (톰캣 포트 에러)Web/Servlet && Spring 2019. 8. 23. 21:47
가끔 톰캣 포트를 이미 사용중이라는 에러가 뜬다. 해당 프로젝트 톰캣 포트를 바꾸는것도 방법이지만, 매번 그러긴 귀찮아서 다른 방법을 정리해 놓음 해결법 현재 톰캣 포트를 확인한다. (나의 경우 8888포트) cmd창에 netstat -ao 입력 아래 사진처럼 현재 리스닝 상태인 것을 볼 수 있다. 계속해서 결과가 출력될텐데 컨트롤+c를 눌러 실행을 중지시킨다. taskkill /f /pid 13436를 입력한다. (pid의 뒤에는 실행중인 톰캣 포트의 pid를 적는 것) 프로세스가 종료되었다는 멘트를 보고, 스프링을 재실행 한다. 아주 잘된다.
-
[Spring] Redirect(리다이렉트) 사용법Web/Servlet && Spring 2019. 8. 23. 11:00
@RequestMapping("/product2") public String product2(Model model,RedirectAttributes attributes) { ProductVO vo = new ProductVO("꿀 허니", 25000); attributes.addFlashAttribute("pro",vo); //model.addAttribute("pro", vo); 데이터 공유가 안된다. // RedirectAttributes-- 리다이렉트 이용시 request공유할 데이터(일회성)를 표현 // redirect: 다음 페이지로 이동하기 위해서 메소드 하나가 더 필요하다. return "redirect:/you/lime"; } @RequestMapping("/lime") public Str..
-
[Spring] annotation @ 사용법Web/Servlet && Spring 2019. 8. 23. 11:00
@Controller @RequestMapping("/0823") public class WeController { @RequestMapping("/hello") public String hello() { return "hello"; } } 클래스 최상단에 Controller를 선언할 수 있고, 클래스 안에 들어가는 메소드들의 경로를 Requestmapping이라는 공통 경로를 설정할 수 있다. 만약 hello메소드의 경우 "/0823/hello"가 url로 선언된다. 또, 만약 return을 문자열로 주고 싶다면? @ResponseBody를 사용하면 된다. 보통 ajax에서 많이 사용한다. 한글 사용시 깨짐이 발생하는데, servlet-context.xml에 설정을 해줘야 한다. @RequestMapp..
-
[Spring] Model사용법 (request영역 저장)Web/Servlet && Spring 2019. 8. 22. 12:43
기존에는 HttpServletRequest클래스를 사용하여 데이터를 영역에 저장했었지만 Spring에서는 데이터 저장을 위해서 Model객체를 따로 만들었다. Model.addAttribute(키, 값)을 적게 되면 request영역에 값이 저장된다. Model객체는 request영역만 가능하기 때문에 Session영역에 값 저장은 불가능 하다. 즉, Model.addAttribute( "key", value ) == request.setAttribute( "key", value) Model은 영역객체(request)를 대신하는 객체 만약, 키값을 생략시 클래스명을 키값으로 대신한다. 또, jsp파일의 태그에 name을 적어 놓으면 컨트롤러에서 인자값에 동일한 이름을 넣으면 값을 가져올 수 있다. @Re..