Tiny Bunny [WEB] 중간 점검 간단 정리 - 솜님의 블로그
솜님의 블로그
카테고리
작성일
2024. 10. 7. 14:49
작성자
겨울솜사탕

webapp 하위에 login.jsp파일 생성

<input name = "mid">

<input name="password">

여기서 submit 버튼을 누르면 2개의 데이터가 Controller로 간다.

 

Controller에서는 넘어온 데이터를

String mid = request.getParameter("mid");

String password = request.getParameter("password");

를 통해서 처리를 하는데, 이 request는 new 하지 않았는데도 사용이 가능하다.

이는 request가 JSP 내장객체이기 때문이다.

 


받은 데이터를 selectOne해서 확인이 필요하다.

DTO = new DTO();

 

이때 DTO는 매 번 왔다갔다 하므로 쓸 때마다 new 해주는 것이 맞다.

DAO.selectOne(DTO);

인자를 DTO로 주는 이유는, 결합도를 낮춰 유지보수를 용이하게 하기 위해서다.

 


controller.jsp 파일 생성

모든 요청이 다 이곳으로 옴.

// java에서의 방식
if(action == 1){
		출력
	}
else if(action == 2){
		판매
}

 

그리고 여기서 더 나아간 방식에서는

요청을 controller.jsp?action=login 으로 하고,

 

Controller에서는

String action = request.getParameter("action"); // 액션 추출
if(action.equals("login")){
		로그인
}

위의 형식으로 코드가 작성되었다.

 


FrontController.java 파일 1개 생성 == 유일한 Servlet 파일

유일한 이유는? 비동기는 Action으로 치기 때문에.

 

서블릿 파일로 바뀌면서 요청 방식도 .do로 바뀜.

요청 >> login.do

if(action.equals("/login.do")){
		로그인
}

Action 파라미터가 제거되기 때문에 요청도 가벼워지고, 파라미터 추출하는 과정도 제거되었다.

 


응답을 하기 위해서는 응답 방식이 필요하다.

1. 포워드 : 데이터 전달 o,  ex) main.jsp로 'apple'에 '사과'라는 값을 저장

2. 리다이렉트 : 데이터 전달 x

 

응답 방식의 구분은 데이터 여부로만 구분한다.

 


main.jsp

${apple}

apple을 보려면 request, session, application에 저장을 했어야 한다.

GPT는 이를 ${session.apple} << 이와 같이 알려주는데, 실무에서는 굳이 이를 적지 않는다.

 

간혹

${param.apple} 이런 코드가 있는데, 이건 이전 페이지가 view단이라는 의미이다! (파라미터에서 받아오니까)

이건 view - view 코드여서 실습코드일 가능성이 높고, 이런 코드는 존재하면 안 된다!

'WEB > ' 카테고리의 다른 글

[Backend] REST와 RESTful API  (1) 2024.12.18
[WEB] 횡단처리와 종단처리  (0) 2024.10.01
[WEB] 필터  (0) 2024.09.06
[WEB] alert  (0) 2024.09.06
[WEB] 리스너  (0) 2024.09.04