관리 메뉴

I LOVE EJ

JSP 총방문자수&현재방문자수(로그인) 본문

Web Development/JSP

JSP 총방문자수&현재방문자수(로그인)

BeOne 2009. 5. 28. 10:13

template.jsp

<%@ page language="java" pageEncoding="EUC-KR"%>
<%  String contentpage=request.getParameter("con");
 if(contentpage==null) contentpage="welcome.jsp";
%>
<html>
 <head><LINK REL=stylesheet HREF="style1.css" type="text/css"></head>
 <body>
  <table bgcolor="black" width="600" height="400" border="5" bordercolor="3399CC">
   <tr>
    <td colspan="2"><center><b><jsp:include flush="false" page="top.jsp" />
   </tr>
   <tr>
    <td id="left"><center><b><jsp:include flush="false" page="left.jsp" /></td>
    <td id="right" align="center"><center><b><jsp:include flush="false" page="<%=contentpage%>" />
   </tr>
  </table>
 </body>
</html>

 

top.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
♠서 울 I T 교 육 센 터♠
<%
 String id=(String)session.getAttribute("id");
 if(id==null) id="Guest";
%>

<div align="right"><%=id%>님반갑습니다.</div>

 

left.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page import="java.io.*" %>
현재접속자수: <%=""+(Integer)application.getAttribute("activecount")%><br>
<%
 try{  
  String path=request.getRealPath("/count/count.txt"); //파일 경로 구하기
  BufferedReader br=new BufferedReader(new FileReader(path)); //파일 읽어서 버퍼에 저장
  int num=Integer.parseInt(br.readLine());     //읽은 문자열을 정수형으로 전환
  br.close(); br=null;          //버퍼 비우기
  if(session.getAttribute("count")==null){     //세션 조건 검색
   session.setAttribute("count","aaa");     //세션에 값 저장
   BufferedWriter bw=new BufferedWriter(new FileWriter(path));//버퍼에 쓰기위한 경로 지정
   num++;             //num을 1씩 증가
   bw.write(num+""); bw.flush(); bw.close(); bw=null;  //num에 대한 값 파일 쓰기
   }
   out.println("총방문자수 : "+num+"<br>");     //총방문자수 출력
 }catch(Exception e){
  System.out.println(e);
 }
 if(session.getAttribute("id")==null){
%>
  <a href="template.jsp?con=login.jsp">로그인</a>
<% 
 }else{
%>
  <a href="template.jsp?con=logout.jsp">로그아웃</a>
  <a href="template.jsp?con=result.jsp">회원정보</a>
<%
 }
%>

 

login.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<form action="loginok.jsp"><center>
<%  Cookie[] coo = request.getCookies();
 String id="";
 if(coo!=null){
  for( Cookie  coos : coo){  
   if(coos.getName().equals("id"))
    id=coos.getValue(); 
  }
 }%>
 I D <input type="text" name="id" value="<%=id%>"><br>
 PW  <input type="password" name="pw"><br>
 <input type="checkbox" name="saveid">아이디저장<br>
 <input type="reset" value="취소">
 <input type="submit" value="전송">
 <input type="button" value="회원가입" onclick="me()">
</form>
<script>
 function me(){
  location.href("template.jsp?con=add.jsp");
 }
</script>

 

loginok.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%
 String id=request.getParameter("id");
 String pw=request.getParameter("pw");
 String ch=request.getParameter("saveid");
 if(id.equals(pw)){       // 접속했을때
  if(session.getAttribute("ddd")==null){ // 새로고침 방지:세션에 아무 값이나 준다.
   session.setAttribute("ddd", "aaa"); //     ddd, aaa
   session.setAttribute("id",id);      // id는 세션에 저장
   if(application.getAttribute("activecount")==null){ // 처음 접속할 경우
      application.setAttribute("activecount",1);  // activecount 의 값은 1
     }else{
       Integer ac=(Integer)application.getAttribute("activecount");// activecount를 정수형으로
       application.setAttribute("activecount",ac+1);  // activecount의 값을 1씩 더하
     }
    }
 }
 if(ch!=null && ch.equals("on")){
  Cookie cookie = new Cookie("id",id);
  cookie.setMaxAge(60*60);
  response.addCookie(cookie);
 }else{
  Cookie cookie = new Cookie("id",id);
  cookie.setMaxAge(0);
 }
%>
<jsp:forward page="template.jsp?con=loginRe.jsp" />

 

loginRe.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%
 String id=request.getParameter("id");   //조건 비교를 하기 위해 id의 값 가져오기
 String pw=request.getParameter("pw");   // 상동

 if(id.equals(pw)){
  out.println("환영합니다!");   //조건문 결과 출력
 }else{
  out.println("비밀번호가 일치하지 않습니다!");
 }
%>

 

logout.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%
 Integer ac=(Integer)application.getAttribute("activecount");
 application.setAttribute("activecount", ac-1);
 session.invalidate();
%>
<script>
 location.href="template.jsp"
</script>

 

add.jsp

<%@ page contentType="text/html;charset=euc-kr"%>
<script>
 function me(){
  history.back();
 }
</script>
<form action="pass.jsp">
 <table width="50%">
  <tr>
   <td id="a" width="20%">
    ID
   </td>
   <td id="e">
    <input type="text" name="id">
   </td>
  </tr>
  <tr>
   <td id="b">
    PW
   </td>
   <td id="e">
    <input type="text" name="pw">
   </td>
  </tr>
  <tr>
   <td id="c">
    ADDR
   </td>
   <td id="e">
    <input type="text" name="addr">
   </td>
  </tr>
  <tr>
   <td id="d">
    TEL
   </td>
   <td id="e">
    <input type="text" name="tel">
   </td>
  </tr>
 </table>
 <input type="reset" value="취          소" onclick="me()">
 <input type="submit" value="완          료">
</form>

 

pass.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page import="com.seoulit.bean.Member" %>
<jsp:useBean id="mem" class="com.seoulit.bean.Member" scope="session" />
<jsp:setProperty property="*" name="mem" />
<jsp:forward page="template.jsp?con=loginok.jsp" />

 

result.jsp

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page import="com.seoulit.bean.Member" %>
<jsp:useBean id="mem" class="com.seoulit.bean.Member" scope="session" />

<html>
 <body>
  <h1>회원정보</h1>
  ID :  <jsp:getProperty name="mem" property="id" /><br>
  PW :  <jsp:getProperty name="mem" property="pw" /><br>
  ADDR :  <jsp:getProperty name="mem" property="addr" /><br>
  TEL :  <jsp:getProperty name="mem" property="tel" />
 </body>
</html>

 

welcome.jsp

<%@ page contentType="text/html;charset=euc-kr"%>
welcome!!

 

style1.css

#left { width:200; height:200;}
#a    { border-width:0; background-color:red; text-align:center  }
#b    { border-width:0; background-color:purple; text-align:center }
#c    { border-width:0; background-color:navy; text-align:center }
#d    { border-width:0; background-color:green; text-align:center }
#e   { border-width:0; }
table { font-size:20; color:white; }
td { border: 2 dotted blue; }

 

count.txt

0

 

Member.java

package com.seoulit.bean;

public class Member{
 private String id;
 private String pw;
 private String addr;
 private String tel;

 public void setId(String id){this.id=id;}
 public void setPw(String pw){this.pw=pw;}
 public void setAddr(String addr){this.addr=addr;}
 public void setTel(String tel){this.tel=tel;}

 public String getId(){return id;}
 public String getPw(){return pw;}
 public String getAddr(){return addr;}
 public String getTel(){return tel;}
}

 

//귀차니즘의 말로... 주석달기 귀찬코.. 정리하기 귀찬코.. 그냥 소스만 Ctrl+c ,  Ctrl+v