처음부터 차근차근
model1과 model2 방식 특징, 라이브러리의 위치, View 페이지 은닉 본문
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 |