처음부터 차근차근

model1과 model2 방식 특징, 라이브러리의 위치, View 페이지 은닉 본문

프로그래밍/JSP

model1과 model2 방식 특징, 라이브러리의 위치, View 페이지 은닉

_soyoung 2022. 1. 9. 16:02
반응형

model1

jsp 파일 맨 위에 

jdbc, 데이터베이스 연동, 쿼리문 다 들어감

String name = rs.getString("name");

rs.close(); st.close(); con.close();

아래에 while (rs.next()) { <%=name%> }이런식으로 쿼리 결과 출력

 

 

 

model2

servlet(이름 ~contorller) class(패키지 : com.ksy.web.controller)

jdbc, 데이터베이스 연동, 쿼리문 다 들어감

String name = rs.getString("name"); ...

People people = new People(

    id,

    name,

    ...

);

request.setAttribute("people", people);

rs.close(); st.close(); con.close();

마지막에 jsp파일로 forward하기

 

 

People class(패키지 : com.ksy.web)

int id;

String name;

...

생성자(들어온 매개변수로 초기화)

this.id = id;

....

getter, setter

toString함수 오버라이드

 

 

jsp 파일(패키지 : com.ksy.web.controller)

while (rs.next()) { ${people.name} } 이런 식으로 출력

 

 

라이브러리의 위치

웹 개발할 때 라이브러리는 항상 어딘가로 배포돼서 실행되기 때문에 라이브러리를 프로젝트 안에 같이 놓아야한다.

그러므로 jdbc 드라이버는 WEB-INF / lib에 라이브러리를 넣어야 한다. (자바 실행 관련 라이브러리나 tomcat 라이브러리같은 특수하지 않은 라이브러리 제외)

 

 

 

View 페이지 은닉의 중요성

jsp 파일은 보통 request 값을 가져와서 출력하게 되어있다.

그래서 사용자가 jsp 파일을 url로 치고 들어오면 반드시 오류가 생긴다.

그래서 jsp 파일을 사용자가 주소창에 치고 들어올 수 없도록 WEB-INF 안에다 만들어 놓아야한다.

fowarding 주소 예시

request.getRequestDispatcher("WEB-INF/view/폴더/test.jsp").forward(request, response);

 

 

 

 

출처 : https://www.youtube.com/playlist?list=PLq8wAnVUcTFVOtENMsujSgtv2TOsMy8zd 변형 및 요약 

반응형

'프로그래밍 > JSP' 카테고리의 다른 글

기업형 mvc 모델과 파일 업로드, String.join()  (0) 2022.01.11
jstl  (0) 2022.01.10
EL  (0) 2022.01.08
JSP  (0) 2022.01.06
get과 post 나눠서 처리하는 방법과 forward와 redirect의 차이  (0) 2022.01.05
Comments