JSP
Java Server Page
기존 Servlet구성
Business Logic(Back End 단의 로직)
Presentation Logic
객체지향의 특징
SOLID을 만족하기 위해 분리
Servlet
Java쓰기 편함
JSP
HTML쓰기 편함
Model 1방식
JSP만 사용
Model 2방식
JSP와 Servlet 혼합 사용(정부 시스템)
NEW > dynamic web project > web content > new > jsp file
scriptlet
<%JAVA CODE%>
scriptlet print
<%=출력하는 JAVA CODE%>
변화하는 .jsp파일 > .java > .class > .html
C:\Users\SM009\Desktop\webWork\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\JSP1\org\apache\jsp
jsp 주석
<%-- --%>
페이지 지시자
상단 자동 작성
JSP페이지의 전체적인 환경 설정
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
페이지에 정의하고 싶은 내용을 작성
참조 웹페이지
웹어워드코리아
Request
변수를 받아오는 자바 코드이지만 jsp에도 내장되어 있어 html 형식에서도 다른 선언 없이 사용 가능
redirect
클라이언트가 a.jsp를 가지고 서버에게 가면 서버는 클라이언트에게 b.jsp로 다시 접속하라는 주소를 돌려준다.
그러면 클라이언트는 다시 b.jsp를 가지고 서버에게 접속하므로 총 2번 접속한다.
<%response.sendRedirect("http://www.naver.com"); %>
네이버 로그인하면 메인으로 돌아가는 기능
지시자의 특징
페이지에 정의하고 싶은 내용을 작성
redirect
클라이언트가 a.jsp를 가지고 서버에게 가면
서버는 클라이언트에게 b.jsp로 다시 접속하라는 주소를 돌려준다.
그러면 클라이언트는 다시 b.jsp를 가지고 서버에게 접속하므로 총 2번 접속한다.
네이버 로그인하면 메인으로 돌아가는 기능
<%response.sendRedirect("http://www.naver.com"); %>
SQL Developer가 아니라, 이클립스에서 간단하게 sql확인
이클립스 하단 data source explorer
없으면 window > show view
database connections > new
이클립스에서 오라클데이터베이스로 연결(Connection이라는 통로 연결, driver는 회사마다 다른 dbms에 맞는 connection을 만들어준다.)
oracle 클릭 > next > drivers :oracle thin driver 11ver > 상단 jar list > 모두 지움 > add jar file > C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar > next > properies general database instance servic name : xe로 변경 > host : localhost > hr hr 입력 > 우측 하단 test connection 눌러보기
Dynamic Web Project SQL 문장 보관
Web Content > new > SQL File
type : oracle_11, name : new oracle, database : xe
JDBC
Java Data Base Connectivity
1. Driver 설치
2. JAVA파일에서 Oracle DataBase로 연결하는 통로(Connection)를 Driver가 연결
3. Java에서 작성한 SQL을 Oracle DataBase로 전송
4. 연결끊기
회원 관리를 위한 MVC Model
View
Join.jsp
Login.jsp
Main.jsp
controller
LoginService.java
JoinService.java
Model
MemberDAO
MemberDTO
HTTP
비연결형 프로토콜
web browser는 web server로 요청하여 연결
web server는 web browser로 응답하고 끊음
(연결이 유지되고 있으면 자원 낭비)
(현재 보고있는 페이지는 web server가 응답하고 끊어버린 나만 보고있는 페이지이다.)
로그인정보 유지방법
servlet 사이에서 request와 respose는 각각의 객체이므로 정보 전달이 안됨.
쿠키와 세션을 이용해서 로그인 정보를 유지
클라이언트의 정보를 유지시킴
쿠키 : 텍스트만 저장 가능, 변경 가능, 공개 자료, 사용자 측의 웹브라우저로 저장
쿠키가 쌓이면 인터넷이 느려진다.
쿠키를 확인하여 쇼핑 추천
세션 : 객체형태로 저장 가능, 비공개 자료, 서버로 저장, 부하가 걸림
JSP 내장 기본 객체 영역
scope : 웹 서버의 일정 영역
.setAttribute()
.getAttribute()
.removeAttrbute()
영역에서 아래로 갈 수록 커지고 위를 포함
page - 하나의 JSP 페이지를 처리할 때 사용되는 영역, 현재 페이지가 동작되는 동안 사용
request - 하나의 요청을 처리할 때 사용되는 영역, 페이지가 생성되면 새로운 request 생성하여 값 유지 불가, forward 방식으로 request 전달로 해결
session - 하나의 브라우저와 관련된 영역, 현재 브라우저가 동작되는 동안 사용
application - 하나의 웹 어플리케이션과 관련된 영역, 서버가 동작되는 동안 사용
Redirect / Forwarding 차이
redirect : 서버가 클라이언트한테 이동할 주소를 돌려준다.
forwarding : 서버가 실행시켜서 클라이언트한테 준다.
url 그대로인 상태에서 다음 주소를 보여준다.
패키지 자체를 바탕화면으로 가져와서 압축을 하고 보내기
우 클릭 > import >import >General > Existing projects into workspace > select root directory > 패키지 폴더 자체 선책 > finish
패키지 우 클릭 > build path > configure build path > libraries > apache tomcat 있는 가를 확인 > jre system library 더블 클릭 > workspace default JRE 체크 > finish
웹 페이지 템플릿 사이트
html5up 검색
다운받은 템플릿 폴더 내용 모드 드래그 복사하여 WebContent 붙여넣기
assets > css > main.css (모든 css가 들어있음)
ojdbc6.jar
webcontent\web-inf\lib으로 넣어놓음
'Programming > Servlet & JSP' 카테고리의 다른 글
EL 기초 (0) | 2020.03.02 |
---|---|
JSTL 기초 (0) | 2020.03.02 |
Servlet 기초 (0) | 2020.02.26 |
담벼락 웹페이지(MessageSystem) (0) | 2020.02.24 |
회원관리(MemberSystem) (0) | 2020.02.24 |