System.out.println("Hello, World");

'2012/04/29'에 해당되는 글 3건

  1. 2012.04.29 Session관리 -HttpSession
  2. 2012.04.29 요청 디스패치 방식(Request Dispatch)
  3. 2012.04.29 이클립스와 오라클 연동하기

-HttpSession을 이용한 Session관리

-클라이언트의 상태값을 서버측에 저장하여 Session관리

-javax.servlet.httpSession 객체를 이용하여 관리한다.

-클라이언트의 상태값은 Attribute로 관리됨


-장점

-관리할 수 있는 상태값(클라이언트 데이터)의 종류나 크키나 개수의 제한이 없다.

-서버에 저장되므로 cookie에 비해 보안상 유리

-단점

-서버에 부담을 준다


-HttpSession 객체 생성

-HttpServletRequest객체.getSessioin()

-기존 Session이 있으면 기존 Sessioin객체를, 없으면 새로 생성하여 리턴


-HttpServletRequest객체.getSession(false)

-기존 Session이 있으면 기존 Sessioin객체를, 없으면 null을 return

- JSP와 Servlet을 같이 쓰면 이걸 쓸 경우는 거의 없다.


-HttpSession 객체의 주요 메소드

-setAttribute(String name, Object Value);

-getAttribute(String name) : Object value

-removeAttribute(String name)

-getAttributeNames() : Enumeration

-invalidate() : session 객체를 소멸시킨다 -로그아웃할때 이용한다.

-setmaxInactiveInterval(int 초) : 클라이언트가 마지막 요청을 한 뒤 인수로 받은 시간만큼 지나도 요청이 안들어 오면 session을 소멸시킨다. (자동로그아웃)

-getId() : String - jsessionID값 리턴



<HttpSession 예제 만들기>

개요

- Write_form.html을 이용하여 텍스트박스를 만든뒤 아무 String값을 넣었을떄 저장한다.

- 저장한 String 값을 ShowServlet을 이용하여 출력해준다.

- 저장된 String 값을 RemoveServlet을 이용하여 제거한다.


package : servlet.session

name :     WriteServlet - /session_write

               ShowServlet - /session_show

               RemoveServlet - /session_remove


- html

WebContent

폴더  : session

이름 : write_form.html


[WriteServlet.java]


[ ShowServlet]


[RemoveServlet]


[write_form.html]


결과 화면

1. Write_form.html을 실행하여 아무 단어나 쳐본다.


2. 현재까지 입력된 값과 jSessionID가 출력되면 성공한것이다. 


3. RemoveServlet을 실행하였을 경우 모든 List가 사라지기 때문에 <입력한 글 보기>를 선택해봤자 아까 list가 null값이면 write_form.html로 리다이렉트 설정을 해줬기 때문에 write_form.html로 이동하게 된다.


Posted by 김마농

 요청 디스패치(Request Dispatch)방식

-Request(요청)이 살아있는 상태에서 수행을 이동시킨다.

-Request Scope를 이용해 데이터(attribute)를 공유 할 수 있다.

-javax.servlet.RequestDispatcher 객체를 이용해 처리

- 요청 디스패치가 더 많이 쓰이는 방식이다.


-구문

RequestDispatcher drp = request.getRequestDispatcher("url");

- 웹브라우저를 기준으로 해야 하기 때문에 절대경로를 쓰지 않는다.

rdp.forward(request,response);


<요청 디스패치 예제>

개요

 - 체크박스를 선택하면 정상적으로 화면이 출력된다.

 - 만약 체크박스를 선택하지 않았다면 error.jsp로 이동하여 에러화면이 출력된다.


servlet

package : servlet.dispatch

name : ErrorPronServlet

url : /error_pron_dispatch


html

folder : dispatch

이름 :req.html

  error.jsp


[ErrorPronServlet.java]


[req.html]


[error.jsp]


결과 화면

1. 체크를 선택했을 경우



2. 체크를 선택하지 않았을 경우



위 화면과 같이 출력되면 성공이다.



Posted by 김마농

1. 이클립스를 킨 다음 Data Source Explorer 항목 밑에 있는 Database Connections를 오른쪽 마우스를 눌러서 New를 선택한다.

2. 이클립스를 오라클이랑 연동해야 하니 당연히 오라클은 선택한다.


3. 네모상자로 표시된 New Driver 버튼을 선택한다.



4. 현재 설치된 오라클 버전이 10이기 때문에 10을 선택한다. 만일 설치된 오라클이 다른 버전일 경우 버전에 따라 선택하면 된다.


5. JAR List 탭을 선택한뒤 Add JAR/ZIP 버튼을 선택한다.


6. 오라클 설치된 위치에 따라 다른데 C드라이브에 설치되어 있다면 

C:\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar를 선택한후 OK를 누른다.


7. 다음과 같이 설정을 입력해준다. User name과 Password는 오라클마다 다른데 예전에 만들어둔 scott/tiger를 넣어주었다.


8. 그다음 밑에 있는 Test Connection을 선택하여 Ping이 정상인지 확인한다. 


9. 쿼리를 작성하기 위해 밑쪾에 있는 scrapbook을 선택한다.


10. 그럼 밑과 같은 화면이 나오는데 여기서 원하는 쿼리문을 작성하고 실행시키면


11. 다음과 같이 성공유/무와 결과가 출력된다.



12. 만약 오라클과 연결을 끊고 싶으면 Data Source에서 New Oracle을 선택하고 오른쪾 마우스를 누른뒤 Disconnect를 선택하면 끊어진다.


13. DIsconnected로 나오면 오라클과 연결이 끊어진것이다.


14. 다시 연결하고 싶으면 New Oracle에서 오른쪽 마우스를 누른뒤 Connect를 누르면 된다.



Posted by 김마농