1. 데이터 베이스 개요

1)데이터베이스란?

- 데이터 베이스는 데이터를 체계적으로 관리 할 수 있도록 해주는 소프트웨어 일반적으로 다음과같이 정의 할수 있다


 -데이터 베이스(Data base) : 여러 사람이 공유할 목적으로 방대한 데이터를 체계적으로 정리하여 저장한 것으로 이용하면 데이터를 

효율적으로 관리하고 검색할 수 있다.


-데이터베이스 관리 시스템(DBMS : Data Base Mangement System) : 데이터 베이스를 구성하고 운영하는 소프트웨어 시스템으로, 오라클, MS SQL,

,MySQL등이 일반적으로 알고 있는 데이터베이스 제품을 의미.


2) 데이터베이스의 장단점

 - 데이터를 사용하고 처리하는 데 있어 가장 중요한 기술적 관점은 데이터를 저장하고 이를 이용하는 방법

 - 일반적으로 데이터를 저장한 파일을 데이터 파일이라고 하는데, 데이터 파일은 서로 연관된 정보를 모아서 레코드를 만들고 다시 연관된 레코드를 

모아서 파일을 만든다.


* 데이터 베이스의 이점

 - 데이터 종복을 최소화할 수 있다.

 - 데이터 불일치 문제를 해결할 수 있다.

 - 데이터를 쉽게 공유할 수 있다.

 - 정보 표준화를 이룰수 있다.

 - 데이터에 대한 보안성을 제공한다.

 - 데이터의 무결성을 유지된다.

 - 대량의 데이터를 좀 더 빠르게 검색할 수 있다.

 - 덱스트 이외의 다양한 데이터(이미지, 파일 등)을 관리 할수 있다.


3. MySQL설치


 -  http://dev.mysql.com/downloads/ 접속




둘 중 아무거나 선택해도 되나 위에걸로 다운받았다.



깔아주고 Mysql workbench를 실행시킨다.



JSP를 실습하기 위해서 JSPDatabase만들고, 눌러서 접속을 했다.
















'programing > JSP' 카테고리의 다른 글

JSP 내장객체  (0) 2017.10.01
기본문법  (0) 2017.09.23
간단한 실습  (0) 2017.09.12
jsp개발환경 구축  (0) 2017.09.07

1)내장객체 개요.


1. JSP 내장객체란?

 - JSP내장객체란 JSP내에서 선언하지 않고 사용할 수 있는 객체라는 의미에서 붙여진 이름이다.

 - 구조적으로는 JSP가 서블릿 형태로 자동 변환된 코드 내에 포함되어 있는 멤버변수, 메서드 매개변수 등의 각종 참조 변수(객체)를 말한다.


※ 주요 JSP내장객체

request, reponse, session, applcation...


2. 내장객체의 구조적 특징

 - 서블릿으로 변경된 JSP코드는 모두 .jspService()매서드에 위치함.

 - 매서드 매개변수인 request, reponse를 비롯한 pageContent, session,applcation,page,config,out 등 매서드 내에서 참조할 수 있는 참조변수들이 내장객체가된다.


3. 내장객체를 이용한 속성관리 기법

 - 내장객체가 단순히 특정한 기능을 제공하는 컨테이너 관리 객체라는 점 외에도 한가지 특징이 있다. 바로 page, request, session, application 내장객체를 이용한 속성관리 기법이다. 이 내장객체들은 각자 지정된 생명주기가 있으며, setAttribute(), getAttribute()라는 메서드를 통해 해당 생명주기동안 자바객체를 유지하눈 기능을 제공한다.


2)request

1.request 내장객체

 - request는 사용자 요청과 관련된 기능을 제공하는 내장객체로 javax.servlet.http.HttpServletRequest 클래스에 대한 참조 변수이다.

 - 주요 클라이언트에서 서버로 전달되는 정보를 처리하기 위해 사용.

 - 대표적으로 HTML폼을 통해 입력된 값을 JSP에서 가져올때 사용한다.


※ request주요 메서드

 메서드

설명 

 getParameterNames()

현재 요청에 포함된 매개변수의 이름을 열거(Enumeration) 형태로 넘겨준다. 

 getParameter(name)

문자열 name과 이름이 같은 매개변수의 값을 가져온다. 

getParameterValues(name) 

문자열 name과 이름이 같은 매개변수의 값을 배열형태로 가져온다. 

checkbox, multiple list등에 주로 사용한다.

 getCookies()

모든 쿠키 값을 javax.servlet.http.Cookie의 형태로 가져온다. 

 getMethod()

 현재 요청이 GET아나 POST형태로 가져온다.

 getSession()

현재 세션 객체를 가져온다. 

getRemoteAddr() 

클라이언트의 IP주소를 알려준다. 

 getProtocol()

현재 서버의 프로토콜을 문

 setCharacterEncoding()

 현재 JSP로 전달되는 내용을 지정한 케릭터셋으로 변환해준다. ,HTML폼에서 한글 입력을 정상적으로 처리 해주려면 반드시 필요하다.


3) reponse

1. reponse 내장객체

 - reponse는 request와 반대되는 개념으로, 사용자 응답과 관련된 기능을 제공

 - 사용자 요청(request)을 처리하고 응답을 다른 페이지로 전달하는 등의 기능을 제공.

 - javax.servlet.http.HttpServletResponse 객체에 대한 참조변수로, request에 만큼 많이 사용되지는 않으나 setContentType,sendRedirect와 같은 메서드는 잘알아야한다.


reponse 주요 메서드

 메서드

설명 

 setContentType(type)

문자열 형태의 type에 지정된 MIME으로 content Type을 설정

setHeader(name,value) 

문자열 name의 이름으로 문자열 value의 값을 헤더러 세팅 

setDateHeader(name,date) 

문자열 name의 이름으로 date에 설정된 밀리세컨드 시간 값을 헤더에 설정

sendError(status,msg) 

오류코드를 세팅하고 메시지를 보냄 

 sendRedirect(url)

클라이언트 요청을 다른페이지로 보냄. 


4)out 

1. out내장객체 

 - out은 출력스트림으로써, 사용자 웹 브라우저로 출력하기 위한 내장 객체임.

 - 스트립트에서 브라우저로 덱스트를 출력하는 데 사용.

 - out은 javax.servlet.jspWriter객체의 참조변스로, 버퍼관련 메서드와 출력 관련 메서드로 구성되며, out를 이용해서 출력한 내용은 서버의 콘솔이 아닌 사용자에게 전달된다.


※out주요 메서드

 메서드

설명 

 getBufferSize()

output buffer의크기를 바이트로 알려준다. 

 getRemaining()

남아있는 버퍼의 크기중 사용가능한 비율을 알려준다. 

clearBuffer() 

 버퍼에 있는 콘텐트를 모두 지운다. 

flush() 

버퍼를 비우고 output stream도 비운다. 

close() 

output stream을 닫고 버퍼를 비운다 

println(content) 

content의 내용을 newline과 함께 출력한다.

print(content) 

content의 내용을 출력한다.



5)session 내장객체

 - HTTP프로토콜이 비연결형 프로토콜이기 때문에 출력된 다음에는 클라이언트와 연결이 끊어진다. 따라서 한번 로그인한 사용자가 로그아웃할 때 까지 페이지를 이동해도 보관해야 할 정보가 있다면 이에 대한 처리가 매우 곤란해진다.

 - 이러한 HTTP프로토콜 문제점을 해결하려고 나온 것이 쿠기와 세션이다.

 - session은 javax.servlet.http.Http Session 인터페이스 참조 변수 이다.

 - session은 접속하는 사용자 별로 따로 생성되며 일정시간 유지되고 소멸된다.

 - 이러한 세션의 특징을 이용해 setAttribute()메서드를 이용해 임의의 값을 저장해놓고 활용할 수 있다.

 - 세션이 주로 사용되는 경우

┌① 사용자 로그인 후 세션을 설정하고, 일정시간이 지난 경우 다시 사용자 인증을 요구 할 때.

├② 쇼핑물에서 장바구니 기능을 구현할 때.

└③ 사용자의 페이지 이동 동선 등 웹페이지 트래킹 분석 기능 등을 구현 할때. 


※ session내장객체 메서드

 메서드

설명 

 getId()

각 접속에 대한 세션 고유의 ID를 문자열 형태로 반환한다. 

getCreatingTime() 

세션 생성기간을 January 1,1970 GMT부터 long형 밀리세컨드 값으로 반환 한다. 

getLastAccessedTime() 

 현재세션으로 마지막 작업한 시간을 long형 밀리세컨드 값으로 반환한다.

getMaxInactiveInterval()

세션의 유지시간을 초로 반환한다. 이를통해 세션의 유효시간을 알수 있다.

setMaxInactiveInterval(t) 

세션의 유효시간을 t에 설정된 초 값으로 설정한다.

invalidate() 

 현재 세션을 종료한다. 세션과 관련된 값들을 모두 지워진다.

getAttribute(attr)

문자열 attr로 설정된 세션값을 java.lang.Object 형태로 반환한다.

setAttribute(name,attr)

 문자열 name으로 java.lang.Object attr을 설정한다.


그밖의 내장객체

1).config

 - 서블릿이 최초로 메모리에 적재될 때 컨터이너는 서블릿 초기화와 관련된 정보를 읽고 javax.servlet.ServletConfig 객체에 저장한다.

 - config는 바로 ServletConfig클래스에 대한 참조 변수로 web.xml에 설정된 초기화 파라미터를 참조하기 위한 용도로 사용할 수 있다.


※config 메서드

메서드 

설명 

getInitParameterNames() 

초기 매개변수 값들의 설정 이름을 열거 객체로 반환 한다. 

getInitParameter(name) 

문자열 name에 해당하는 초기화 매개변수 값을 반환한다. 


2)application 

 - application은 웹 애플리케이션(컨텍스트) 전체를 관리하는 객체로 application 객체를 통해 각 서블릿이나 JSP에서 공유하려고 하는 각종 정보를 

설정하고 참조할 수 있다.

 - application은 javax.servletContext객체에 대한 참조 변수로써, config 객체를 통해 생성한다.

ServletContext 객체는 컨터이너와 관련된 여러정보를 제공하며, application참조 변수를 통해서 서블릿이 실행되는 환경이나 서버 자원과 관련한 정보를 얻거나 로그파일을 기록하는 작업등을 수행한다.

 - application 내장객체는 일반적으로 톰캣의 시작과 종료 라이프사이클을 가진다.

 - 유형별로 많은 메서드를 제공하므로 주로 관리 기능의 웹 애플리케이션 개발에 유용하다.


※ 개발자를 위한 서버정보

 메서드

설명 

getServerInfo()

 JSP/서블릿 컨테이너의 이름과 버전을 반환한다.

getMajorVersion() 

컨테이너가 지원하는 서블릿 API의 주 버전정보를 반환한다. 

getMinorVersion() 

컨테이너가 지원하는 서블릿 API의 하위버전 정보를 반환한다. 


※서버 지원정보

메서드 

설명 

getMineType(filename) 

문자열  filename에 지정된 파일에 대한 MIME Typ을 반환한다.

getResource(path)

문자열 path에 지정된 자원을 URL객체로 반환한다. 

getResourceAsStream(path) 

문자열 path에 지정된 자원을 InputStream 객체로 반환한다.

getRealPath(path)

문자열Path에 지정된 자원을 파일시스템의 실제경로로 반환한다. 

getContext(path) 

문자열 path에 지정된 자원의 컨텍스트 정보를 반환한다. 

getRequestDispatcher(path) 

문자열 path에 지정된 자원을 위한 request dispatcher을 생성한다. 


※로그관련 정보

메서드 

설명 

 log(message)

문자열 message의 내용을 파일에 기록한다. 로그파일의 위치는 컨테이너에 따라 다르다.

log(message,exception) 

 예외 상황에 대한 정보를 포함하여 로그 파일에 기록한다.



※속성 관련 정보

 메서드 

설명 

 getAttribute(String name)

 문자열 name에 해당하는 속성 값이 있다면 Object형태로 가져온다. 따라서 변환 값에 대한 적절한 형 변환이 필요하다.

getAttributeNames() 

현재  application객체에 저장된 속성들의 이름을 열거 형태로 가져온다.

setAttribute(String name, Object Value)

 문자열 name이름으로 Object형 데이터를 저장한다. Object형이므로 자바 클래스 형태로도 저장 할 수 있다.

 removeAttribute(String name)

문자열 name에 해당하는 속성을 삭제한다.







'programing > JSP' 카테고리의 다른 글

데이터베이스 와 JDBC  (0) 2017.11.07
기본문법  (0) 2017.09.23
간단한 실습  (0) 2017.09.12
jsp개발환경 구축  (0) 2017.09.07

1. 주석

 - 주석은 프로그램 소스에 덱스트로된 간단한 설명문을 넣는것을 말한다.

 

 - C언어를 비롯한 대부분 프로그램 언어가 주석을 사용하기 위한 문법을 제공.

 

 - JSP특성상 java,HTML,JSP코드가 썩여있으므로 주석도 혼용해서 사용가능.

 

* HTML주석 : 일반적인 HTML문서에서 사용 가능한 주석으로 화면에는 보이지 않지만 브라우저 소스보기를 하면 내용이 노출된다.

 - 클라이언트로 전달되는 주석

<!-- 주석 -->

 

JSP주석 : JSP파일에서만 사용가능한 주석으로 브라우저 소스보기를 해도 내용이 노출되지 않는다.

- 클러이언트로 전달되지 않는 주석

<%-- 주석 --%>

 

2.지시어

 - 지시어(Directives)는 JSP파일의 속성을 기술하는 JSP문법

 - JSP컨테이너에게 해당 페이지를 어떻게 처리해야 하는지 전달하기 위한 내용을 담고 있다.

 - 지시어는 크게 page, include, taglib으로 나눌 수 있으며, 각각에서 다루는 속성이 다르다.

 

①page 

 - page지시어는 현재 JSP페이지를 컨테이너에서 처리하는 데 필요하 각종 속성을 기술하는 부분.

 - 보통 JSP페이지 맨 앞에 위치함.

 - 이클립스 개발도구에 의해서 JSP파일을 생성하는 경우 기본적인 page지시어는 자동으로 생성됨.

 속성

설명 

기본 설정 값 

 language

스크립트 언어의 유형을 정한다. 

java 

 import

JSP내에서 사용할 외부 자바 패키지나 클래스의 불러오기를 정한다. 

 -  

 session

세션의 사용유무를 정한다. 

true 

buffer 

버퍼의 크기를 정한다. 

8KB 

autoFlush 

버퍼의 내용을 자동으로 비운다. 

true 

isThreadSafe 

단일 스레드모델을 사용함으로써 동시성 제어

여부를 정한다. 

true

info 

JSP페이지에 대한 설명 

errorPage 

현재 페이지에서 오류가 발생할 경우 호출된 페이지를 지정.

isErrorPage 

오류만을 처리하는 페이지로 지정한다. 

false 

contentType

MIME형식 지정 및 케릭터셋을 설정

text/html:charset=ISO-8859-1

pageEncoding 

contentType와 동일한 기능 

ISO-8859-1 

extends 

현재 JSP페이지를 특정 클래스를 상속한 클래스로 작성 

 [표준스펙]

javaxservlet.jsp.Http.JspPage

[톰켓구현]

org.apache.jasper.runtime.Http.JSPBase

 

 

②import

 - import는 JSP스크립트 부분에서 자바클래스를 사용하는 경우 해당 클래스의 패키지에 대한 import설정으로 기본적으로 자바에서와 동일하다.

 - 다만 패키지 import구분을 " , "을 이용하거나 라인단위로 작성해야된다.

 

 

'programing > JSP' 카테고리의 다른 글

데이터베이스 와 JDBC  (0) 2017.11.07
JSP 내장객체  (0) 2017.10.01
간단한 실습  (0) 2017.09.12
jsp개발환경 구축  (0) 2017.09.07

jsp에 맞는 프로젝트를 생성해줘야 한다.

 

왼쪽 상단에 [File] - [New] - [Dynamic Web Project]를 눌러준다.

 

 

이러한 창이 뜬다. 프로젝트 이름은 원하는 이름을 넣고, 다음으로  Target runtime을 잡아 준다.

그러기 위해서는 New Runtime을 눌러준다.

 

 

이러한 창이 뜨면 Apache tomcat을 설정을 해준다. 현재 설치되었던 서버가 아파치 톰켓 9로 깔려있어서 9로 잡아주었으며, 어디설치되었는지에 대한 디렉토리까지 잡아줘야 한다.

 

그러구 나서 간단한 실습을 해봤다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 
<center>
<h1> Hello World</h1>
<hr>
</center>
 
</body>
</html>
cs

 

위그림과 같이 하기위해서 소스는 이와 같다.

 

다음예제는 변수를 선언하여서 각각 나타내어 계산하는 프로그램이다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h1>계산기 실습</h1>
<hr>
</center>
 
<%int a = 4, b = 2;%>
 
a = <%=a%>, b = <%=b%><br>
a + b = <%=a+b%><br>
a - b = <%=a-b%><br>
a * b = <%=a*b%><br>
a / b = <%=a/b%>
 
</body>
</html>
cs

 

 

이러하다. 근대 처음보았던 <% %>, <%= %>이거는 뭘까? 하고 인터넷을 찾아보았다.

 

선언문

<% 여기는 Jsp영역이고 여기서 선언되는 변수는 지역변수이다. 따라서 반드시 초기화가 필요하다. %>

<%! 여기는 메소드 전역변수등을 선언하는 선언문이다. %>

<%=  이거는 프린트로 출력된다. 변수를 출력할 때 주로 사용한다. %>

<%@ 페이지 지시어. 문서 전체에 적용되어야 할 내용이며 한글을 지원하려면 이 부분이 필요하다.%>

 

 

이제 자바문법을 부르기위해서는 뭘써야되구, 그리구 변수를 나타낼때는 어떤거를 해야되나에대해서 조금은 알것같다.

 

바로 이어지는 예제도 마찬가지이다.

 

1부터 20까지 더하는데 각각 더해지는 과정을 출력하도록 을 구현해 보았다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h1>1부터 n까지의 합</h1>
<hr>
</center>
<%
int i, result;
result = 0;
for(i=1;i<=20;i++){
    result += i;
    out.println("1부터"+i+"까지의 합 : "+result+"<br>");
}
 
 
%>
</body>
</html>
cs

 

소스코드는 이러하다. 그래서 결과값을 보았다.

 

 

 

 

 

 

 

'programing > JSP' 카테고리의 다른 글

데이터베이스 와 JDBC  (0) 2017.11.07
JSP 내장객체  (0) 2017.10.01
기본문법  (0) 2017.09.23
jsp개발환경 구축  (0) 2017.09.07

1. JDK설치

 - 오라클 사이트에 들어가서 다운로드로 가서 JDK을 다운받아서 설치한다.

 

 

2. 아파치 톰켓

- 아파치 톰캣 사이트에 들어가서 아파치서버를 깐다. 여러 버전이 있지만 아파치 톰켓 9를 깔았다.

 

뭐 vistual stdio2015나 아님 Python 설치 햇을 때와 마찬가지로 next버튼을눌러주었다.

 

 

다음으로 서약서 승인 마찬가지로 I Argee 눌러주었다.

 

 

 

포트설정 하는 부분이 나왔다. 포트를 설정 후 Next 버튼을 누른다.

 

 

파일위치 지정이다. jdk의 위치를 지정한 후 Next버튼을 누른다.

 

 

이어서 설치 버튼을 누르면, 끝이다.

설치가 완료 된 후 크롬 또는 익스플로러(Explorer)에서 localhost:8080 입력하면 설치가 되었는지 밑에 있는 그림이 나오면 설치가 완료된것이다.

 

3.이클립스(Eclipse)

 -

 

다운로드 버튼을 눌러서 install 버튼을 다운받는다.

 

 

 

Eclipse IDE for java EE Developers를 눌러서 설치한다.

 

설치가 다 되면 jsp의 준비는 된 것이다.

 

 

 

'programing > JSP' 카테고리의 다른 글

데이터베이스 와 JDBC  (0) 2017.11.07
JSP 내장객체  (0) 2017.10.01
기본문법  (0) 2017.09.23
간단한 실습  (0) 2017.09.12

+ Recent posts

티스토리 친구하기