<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 

license agreements. See the NOTICE file distributed with this work for additional 

information regarding copyright ownership. The ASF licenses this file to 

You under the Apache License, Version 2.0 (the "License"); you may not use 

this file except in compliance with the License. You may obtain a copy of 

the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 

by applicable law or agreed to in writing, software distributed under the 

License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 

OF ANY KIND, either express or implied. See the License for the specific 

language governing permissions and limitations under the License. -->


<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

version="3.0" metadata-complete="true">


<display-name>Welcome to Tomcat</display-name>

<description>

     Welcome to Tomcat

  </description>


<!-- 커넥션풀 추가 -->

<resource-ref>

<description>Connection</description>

<res-ref-name>jdbc/OracleDB</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

<!-- /커넥션풀 추가 끝 -->

</web-app>



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

JSP 커넥션풀 속성  (0) 2015.08.21
JSP 커넥션풀 연결 하기  (0) 2015.08.21
JSP 커넥션풀 context.xml 내용추가  (0) 2015.08.21
JSP 커넥션풀라이브러리 다운로드  (0) 2015.08.21
JSP 커넥션 풀이란?  (0) 2015.08.21
블로그 이미지

왕왕왕왕

,

<?xml version="1.0" encoding="UTF-8"?>

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor 

license agreements. See the NOTICE file distributed with this work for additional 

information regarding copyright ownership. The ASF licenses this file to 

You under the Apache License, Version 2.0 (the "License"); you may not use 

this file except in compliance with the License. You may obtain a copy of 

the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required 

by applicable law or agreed to in writing, software distributed under the 

License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS 

OF ANY KIND, either express or implied. See the License for the specific 

language governing permissions and limitations under the License. --><!-- The contents of this file will be loaded for each web application -->

<Context>


<!-- Default set of monitored resources -->

<WatchedResource>WEB-INF/web.xml</WatchedResource>


<!-- Uncomment this to disable session persistence across Tomcat restarts -->

<!-- <Manager pathname="" /> -->


<!-- Uncomment this to enable Comet connection tacking (provides events 

on session expiration as well as webapp lifecycle) -->

<!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" 

/> -->


<!-- 커넥션풀 추가한부분 -->

<Resource 

             name="jdbc/OracleDB" auth="Container"

driverClassName="oracle.jdbc.driver.OracleDriver" 

type="javax.sql.DataSource"

url="jdbc:oracle:thin:@localhost:1521:orcl" 

            username="scott" password="tiger"

maxActive="20" maxIdle="10" maxWait="-1" />

       <!-- /커넥션풀 추가한부분 끝 -->


</Context>






             1. name : JNDI로 호출될 이름을 설정한다. (접근 -> java:comp/env/jdbc/myconn)

   2. auth : DBCP를 관리할 관리자 (Container or Application)

   3. type : 해당 resource의 return type 

      (DataSource는 Connection 객체를 반환할 수 있다.)

   4. factory : dbcp를 유용하는 관리 클래스 (Tomcat 5.x에 기본으로 존재하는 클래스)

      (직접 DBCP 클래스를 지정해도 동작하는데 문제가 없다.)

      (그러나, Factory 클래스를 이용하면 좀더 안정적으로 관리할 수 있다.)

   5. driverClassName : JDBC를 이용하기 위한 드라이버 클래스

   6. url : DB의 접속 URL (속성으로 자동 재 접속을 선택했다.)

   7. username : DB의 계정 명

   8. password : 계정에 대한 비밀번호

   9. maxActive : 최대 접속 허용 개수

   10. maxIdle : DB Pool에 여분으로 남겨질 최대 Connection 개수

   11. maxWait : DB 연결이 반환되는 Timeout의 최대 시간 (-1은 무한 대기)

   12. removeAbandoned : Connection이 잘못 관리되어 버려진 연결을 찾아 재활용할 것                     인지의 여부 설정

       (true 설정일 때 현재 DB 연결이 적으면 버려진 연결을 찾아 재활용)

   13. removeAbandonedTimeout : 버려진 연결로 인식할 기본 시간 설정

       (초 단위로 해당 시간이 지나면 버려진 연결로 인식한다.)

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

JSP 커넥션풀 연결 하기  (0) 2015.08.21
JSP 커넥션풀 web.xml 내용추가  (0) 2015.08.21
JSP 커넥션풀라이브러리 다운로드  (0) 2015.08.21
JSP 커넥션 풀이란?  (0) 2015.08.21
Jsp page 지시어  (0) 2015.08.19
블로그 이미지

왕왕왕왕

,

http://commons.apache.org/ 1.주소로이동




2. 아래 보이는 3가지 모두 zip파일 다운로드








3. 압축풀고 난 후


C:\Users\User\commons-dbcp-1.3-bin\commons-dbcp-1.3

C:\Users\User\commons-collections-3.2.1-bin\commons-collections-3.2.1

C:\Users\User\commons-pool-1.6-bin\commons-pool-1.6


경로에 jar파일들을 복사한다.




4. 톰캣 라이브러리에 붙여넣기해준다.


C:\Users\User\apache-tomcat-7.0.63-windows-x86\apache-tomcat-7.0.63\lib




5. 개발환경 라이브러리에다 3가지 모두넣어준다.


C:\Users\User\workspace\dbconnection\WebContent\WEB-INF\lib




6. 서버폴더에보면 context,xml하고 web.xml이있는데

context.xml은 META-INF에 복사하고

web.xml은 WEB-INF에 복사한다.


C:\Users\User\workspace\Servers\Tomcat v7.0 Server at localhost-config





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

JSP 커넥션풀 web.xml 내용추가  (0) 2015.08.21
JSP 커넥션풀 context.xml 내용추가  (0) 2015.08.21
JSP 커넥션 풀이란?  (0) 2015.08.21
Jsp page 지시어  (0) 2015.08.19
Jsp a태그로 값넘기기(페이지 전환)  (1) 2015.08.19
블로그 이미지

왕왕왕왕

,

JSP 커넥션 풀이란?

JAVA/JSP 2015. 8. 21. 11:18

1) 커넥션 풀

: 데이터 베이스와 연결된 커넥션을 미리 만들어서 풀(pool) 속에 저장해 두고 있다가 필요할 때에 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 기법을 의미한다.



2) 커넥션 풀의 특징

 - 풀 속에 미리 커넥션이 생성되어 있기 때문에 커넥션을 생성하는 데 드는 연결 시간이 소비되지 

    않는다.

 - 커넥션을 계속해서 재사용하기 때문에 생성되는 커넥션 수가 많지 않다.



☞ 커넥션 풀을 사용하면 커넥션을 생성하고 닫는 시간이 소모되지 않기 때문에 그만큼 어플리케이션의 실행 속도가 빨라지며, 또한 한 번에 생성될 수 있는 커넥션 수를 제어하기 때문에 동시 접속자 수가 몰려도 웹 어플리케이션이 쉽게 다운되지 않는다.



3) 그렇다면 동시 접속자 처리는..?

: 커넥션 풀에서 생성되어 있는 커넥션의 갯수는 한정적이다. 그렇다면 동시 접속자가 많아지면 어떻게 될까?

커넥션 풀은 누군자 접속하면 커넥션 풀에 남아 있는 커넥션을 제공하는 식이다. 하지만 남아있는 커넥션이 없을 경우 해당 클라이언트는 대기 상태로 전환이 되고, 커넥션이 반환되면 대기하고 있는 순서대로 커넥션이 제공된다.




출처 http://arihong218.tistory.com/13

블로그 이미지

왕왕왕왕

,

Jsp page 지시어

JAVA/JSP 2015. 8. 19. 16:00


 속성

설명 

기본값 

language 

스크립트 언어를 지정한다. 

java 

import 

jap파일 내에서 사용할 외부 자바 패키지나 클래스 지정 

 

session 

세션 생성여부지정 

true 

Buffer 

버퍼크기지정 

8Kb 

autoFlush 

버퍼내용자동비움지정 

true 

isThreadSafe 

단일쓰레드 모델을 사용하여 동시성제어여부지정 

true 

info 

jsp페이지 설명 

 

errorPage 

에러발생시 호출페이지 지정 

 

isErrorPage 

에러만처리하는 페이지지정 

false 

contentType 

MiME 형식과 캐릭터셋 설정 

text/html; charset=ISO-8859-1 


블로그 이미지

왕왕왕왕

,

사이드 메뉴페이지


<%@ 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>

<a href='?page=newitem'>신상품</a>

<br>

<a href="?page=bestitem"> 인기상품</a>


</body>

</html>


현재 프로젝트에 포함되있다면 ?를 구분으로 page라는 속성명을써주고 newitem.jsp에서 .jsp만

뺀 파일명을 써준다.



템플릿페이지


<%@ 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>

<%

request.setCharacterEncoding("euc-kr");

String pagefile = request.getParameter("page");

//리퀘스트로 위에 넘긴 Get방식의 파라미터명을 써서 내용을 받는다.

if (pagefile == null) {

pagefile = "newitem";

}

%>

<table border="1" width="600" height="200" align="center">

<tr>

<td colspan="2"><jsp:include page="top.jsp"></jsp:include></td>

</tr>

<tr>

<td><jsp:include page="left.jsp"></jsp:include></td>

<td style="width: 60%"><jsp:include

page='<%=pagefile + ".jsp"%>'></jsp:include></td>

//클릭에따라서 가변적으로 페이지가 변하게 작성됨

//파라미터는 newitem또는 bestitem으로 속성명을 정했다.

//넘어온값에 .jsp를 붙여서 url을 완성한다.

//실행하게되면 url은 다음과 같이 작성됨


//http://localhost/ActionTag/template.jsp?page=newitem 이런식으로 템플릿페이지 뒤로 붙어서나온다.

</tr>

<tr>

<td colspan="2"><jsp:include page="bottom.jsp"></jsp:include></td>

</tr>


</table>



</body>

</html>



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

JSP 커넥션 풀이란?  (0) 2015.08.21
Jsp page 지시어  (0) 2015.08.19
Jsp 세션에저장된 내용 한번에 출력하기(Enumeration)  (0) 2015.08.19
JSP Scope & Attribute  (0) 2015.08.19
JSP session을 배열로 처리하기  (0) 2015.08.13
블로그 이미지

왕왕왕왕

,

<table border="1">

<tr>

<td colspan="2">Session 영역에 저장된 내용들</td>

</tr>

<%

Enumeration e = session.getAttributeNames();

while (e.hasMoreElements()) {

String attributeName = (String) e.nextElement();

String attributeValue = (String) session.getAttribute(attributeName);

%>

<tr>

<td><%=attributeName%></td>

<td><%=attributeValue%></td>

</tr>

<%

}

%>

</table>


getAttributeNames()메소드는 Enumeration타입으로 변수를 만들어줌




Enumeration 메소스 인터페이스

boolean hasMoreElements() 

 Vector로 부터 생성된 Enumeration의 요소가 있으면 true, 아니면       false 반환

Object nextElement() 

 Enumeration 내의 다음 요소를 반환한다. 


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

Jsp page 지시어  (0) 2015.08.19
Jsp a태그로 값넘기기(페이지 전환)  (1) 2015.08.19
JSP Scope & Attribute  (0) 2015.08.19
JSP session을 배열로 처리하기  (0) 2015.08.13
JSP 내장객체 application  (0) 2015.08.13
블로그 이미지

왕왕왕왕

,

JSP Scope & Attribute

JAVA/JSP 2015. 8. 19. 10:17

Scope & Attribute


•Jsp에서 제공하는 내장 객체들 중 session,request, application들은 해당 객체에 정의된 유효 범위 안에서 서로 다른 페이지라 할지라도 필요한 객체(데이터)들을 저장하고 읽어 들임으로써 서로 공유할 수 있는 특정한 공간을 가지고 있다.


•공유되는 데이터를 속성 (Attribute)이라고 하며 속성을 공유할 수 있는 유효범위를 Scope라고 한다.





 영역

 영역객체

 속성의 유효범위

 Page

 pageContext

해당 페이지가 클라이언트에 서비스를 제공하는 동안에는 유효 ( 서블릿 인스턴스의 _jspService() 메소드가 실행되는 동안에만 유효)

 request

 request

  클라이언트의 요청이 처리되는 동안 유효(포워딩 또는 include를 이용하는 경우 여러 개의 페이지에서도 요청 정보가 계속 유지되므로 request 영역의 속성을 여러 페이지에 공유할 수 있다.)

 Session

 Session

 세션이 유지되는 동안 유효 ( 하나의 브라우저에 1개의 세션이 생성되므로 같은 웹 브라우저 내에서 실행되는 페이지들이 속성을 공유할 수 있다. )

 application

 application

 웹 어플리케이션이 실행되고 있는 동안 유효(웹 컨테이너에서 해당 어플리케이션은 오직 하나만이 실행되므로



pageContext,request,session,application 내장 객체에 동일하게 제공되는 메소드



 영역

 영역객체

 속성의 유효범위

 Object

 getAttribute(String key)

Key값으로 등록되어 있는 속성을 Object 타입으로 리턴

 Enumeration

 getAttributeNames()

 해당 영역에 등록되어 있는 모든 속성들의 이름을 Enumeration 타입으로 리턴

 없음

 setAttribute(String key,Object obj)

해당 영역에 key 값의 이름으로 obj 객체를 등록

 없음

 removeAttribute(String key)

Key값으로 등록되어 있는 속성을 제거




블로그 이미지

왕왕왕왕

,