#서버의 저장장소 : 4영역 , DB , file
- db접속하면 속도확느려짐
- file도 느려짐
- 4영역중에 application!!! ( session으로하면.....몇가지 문제점이 생김 )
[ex] 기본적인 현재접속자수 증가원리
- application을 이용!
- 로그인성공시 application의 Attribute의 한곳이 계속 증가
- 로그아웃시 그 한곳이 감소
loginProcess.jsp
=======================
if(id와 pw일치하면){
if(application.getAttribute("activeCNT")==null)
application.setAttribute("activeCNT",1);
else{
int ac=(Integer)application.getAttribute("activeCNT");
application.setAttribute("activeCNT",++ac);
}
}
- <jsp:forward page="~~.jsp"> 로 화면이동시 request값은 유지되지만 사실 알고보면
url주소값이 그대로 화면이동전의 url이 유지된다. 그래서 만약 로그인처리같은것을 처리하고
방문자수를 카운터증가하고 jsp:forward로화면이동시 이전url이 유지되기때문에 다음화면에서 새로고침시
이전화면의 처리를 다시하게됨
그래서 이런예상이되는곳은 response.sendRedirect("~~.jsp") 로 화면이동해야함
=================
<%
int ac=0;
if(application.getAttribute("activeCNT")!=null){
ac=(Integer)application.getAttribute("activeCNT");
}
%>
현재접속자 : <%=ac%>
참고로 아래는 최신버전에서 오류남..... [ = ] 오류
<jsp:forward page="main.jsp?cp=<%=p%>"/>
그래서 다음과같이 자식으로 작성해줘야함
<jsp:forward page="main.jsp"/>
<jsp:param name="cp" value=<%=p%>/>
menu.jsp
=============
<%@ page language= "java" contentType ="text/html; charset=EUC-KR"
pageEncoding= "EUC-KR" %>
<%
int ac=0;
if (application.getAttribute("activeCNT" )!= null){
ac=(Integer)application.getAttribute( "activeCNT" );
}
%>
총방문자수 : < br>
현재접속자수: <%=ac %> <br >
< a href= "main.jsp?cp=loginForm.jsp" >로그인 </ a>
[ex] 이제 로그아웃을 통해 접속자수 감소를해보자
[]session.invalidate(); : 세션 모두 없어짐
[]session.getId(); : 현재세션아이디얻기
loginOut.jsp
============
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<%
int ac=(Integer)application.getAttribute("activeCNT");
application.setAttribute("activeCNT",--ac);
session.invalidate();
response.sendRedirect("main.jsp");
%>
과제
로그인안했을때 로그아웃이보이면안되고 로그인햇을때도 로그인보이면안됨
현재접속자수
총방문자수는 로그아웃하면 session.invalidate()때문에 총방문자수 1증가함... 이상하더라도 이렇게되는게 정상이라생각하자...
밑에 DB풀링기법으로 연동하는거배웠으니 그거로 회원목록 가져와보기!
토요일까지과제
그룹과제임 ( 2명이상 )
옷사이트
project1/top/top1.jpg
project1/하의/하의1.jpg
장바구니담기
장바구니속 체크박스해서 체크박스는 삭제, 주문하기, 등등
로그인 되게
옷사이트 보고 해도됨
로그인 + 선택 추가삭제 + 방문자수+ DB풀링기법 과제
* 몇가지 주의할점
1. war파일임!!
그래서 만들당시 환경까지 따라옴... 만들당시 was가 톰캣 7환경에서 만들었기때문에
이클립스에서도 톰캣7 해야함....
2. 톰캣7을 이클립스에서 추가후 위 과제가 db pool기법을 사용하므로 톰캣7의 기본설치에서
server.xml과 context.xml을 설정해야함.... 설정법은 07.jsp 의 db풀링기법부분 볼것
( 한글 들어가면안됨!!주석도!! )
3. 해당프로젝트의 Targeted Runtimes에 해당 톰캣7을 체크해줘야함( 추가는 되있을것임.. )
'JSP' 카테고리의 다른 글
include지시자 / 쿠키 (0) | 2019.03.09 |
---|---|
DB풀링기법(커넥션풀) (0) | 2019.03.09 |
로그인 화면이동( 화면이동방법 3가지 ) (0) | 2019.03.09 |
총 방문자수 찍기 (0) | 2019.03.09 |
웹어플리케이션 초기화 파라미터 사용법(application객체) (0) | 2019.03.09 |