controller
@Controller
public class HomeController {
@Autowired BoardService service;
Logger logger = LoggerFactory.getLogger(this.getClass());
@RequestMapping(value = "/", method = RequestMethod.GET)
public String list(Model model) {
ArrayList<BoardDTO> list = service.list();
logger.info("service.list를 통해 가져온 값 : "+list);
model.addAttribute("list",list);
return "list";
}
@RequestMapping(value = "/write.go")
public String writego() {
return "writeForm";
}
@controller는 컨트롤러인거 명시하기 위해 사용한 어노테이션
@autowired는 객체화를 하지 않아도 service를 사용할 수 있게함
logger을 사용하기 위해 써줬고 어디서 로그가 찍혀는지 알 수 있게끔 this.getClass() 써줌
/ 요청이 들어오면 get 메서드를 통해 처리
list 메서드를 실행해주는데 model을 통해 값을 list.jsp로 보낼 것이기 때문에 Model model 을 인자값으로 넣어줌
user_name, subject, content 세가지의 값을 보낼 거니까 arraylist 사용하고 BoardDTO라는 클래스를 데이터 타입으로 사용해줌
service의 list 메서드를 실행해서 나온 값을 이 list에 담아주고
model의 addAttribute 메서드를 통해 list를 list라는 이름으로 보내줌
그리고 list.jsp 로 이동해줌
항목과 값이 있는 여러가지 데이터를 담을 때는
dto(bean)
아니면 hashmap
조회수를 올리려면 쿼리문이 필요함 -> update문 사용
request보다 한단계 위에있는 session에 담으면 뺄 수 있음
로그아웃을 하기전까지는 계속살아있는 녀석임

쿼리문이 있을 장소가 여러군데라면
위처럼 쓸 수도 있고 아래처럼 쓸 수도 있음

순서를 생각하면
컨트롤러 -> 서비스 ->다오 ->매퍼 ->
매핑ㅇ에서 실행해주는거 모든 요청 다해준다
'Spring' 카테고리의 다른 글
[SPRING] 가장 최근에 insert된 idx 구하기, import가 안 될 때, appServlet 삭제? (0) | 2023.04.04 |
---|---|
[SPRING] 파일 업로드 관련 라이브러리, 이미지 엑박 뜰 때 (0) | 2023.04.04 |
[SPRING] spring 특징, framework란?, 프로젝트 처음 만들었을 때 설정값 (0) | 2023.03.29 |
[SPRING] web.xml / servlet-context.xml / spring에서 model이란 (0) | 2023.03.28 |
국비코딩 [Maria DB] DB활용한 회원가입, 로그인 코드리뷰 (0) | 2023.03.27 |