본문 바로가기

Programming/Servlet & JSP

JSP 기초

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