1. sessionattribute.jsp Test


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sessionattribute.jsp Test</title>

</head>

<body>

<%@ page import="java.util.Enumeration, java.util.Date"%>


<H1>Sessionn 만들기</H1>


<%

session.setAttribute("id", "korea2017");

session.setAttribute("pwd", "javatomcat");

session.setAttribute("a", "a");

session.setAttribute("b", "b");

%>

<hr size="5" color="red">


<h2>Session 조회</h2>


세션 ID : <%= session.getId() %><br>

<!-- getID() : session 에 할당된 유일한 식별자(ID) String 타입으로 반환한다-->


세션 CreationTime : <%=new Date(session.getCreationTime()) %><br><br>


<%

Enumeration<String> ee = session.getAttributeNames();


while(ee.hasMoreElements()) // Enumeration 의 내부에 원소(값)가 있는

                                               // 결과를 반환 있으면 true

{

String name = ee.nextElement(); // Enumeration 내부에 다음 값이 있다면

                                                    // 다음 값을 반환

String value = (String)session.getAttribute(name);

out.println("session name : " + name + " , ");

out.println("session value : " + value + "<br>");

}

%>

<br>


sessionn Invalidate : <% session.invalidate(); %>

<!-- invalidate() : 현재 생성된 session 을 무효화 시킨다. -->


</body>

</html>



2. sessiontimeout.jsp Test


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>sessiontimeout.jsp Test</title>

</head>

<body>

<%@ page import="java.util.Enumeration,java.util.Date" %>


<h1> Session Test </h1>


<hr size="5" color="red">


<h2> 세션 만들기 </h2>

<%! long beforetime = new Date().getTime(); 

// 이전 페이지 참조 시간을 저장하는 변수

%>


<%

long nowtime = new Date().getTime();


if(session.isNew())

{

session.setAttribute("id", session.getId());

session.setAttribute("time", new Date(session.getCreationTime()));

session.setMaxInactiveInterval(5);

}

else

{

session.removeAttribute("id");

}

%>

<hr size="5" color="green">

<h2> 세션 조회 </h2>


세션 ID (유일한 식별자) : <%= session.getAttribute("id") %><br>

세션 CreationTime : <%= session.getAttribute("time") %><br>

세션 MaxInactiveInterval : <%= session.getMaxInactiveInterval() %><br>


<%

long sessiontime = nowtime - session.getCreationTime();

%>


세션이 만들어진 이후 지난 시간 : <%= sessiontime /1000 %> 초



<font color="green">

<hr>


<% long inactiveinterval = nowtime - beforetime; %>


<br>


서버에 반응을 보이지 않은 시간 : <%= inactiveinterval/1000 %> 초 <br>

위 시간이 <%= session.getMaxInactiveInterval() %> 초를 지나면

이전 세션은 무효화 되고 새로운 세션이 생성됨 <br>

</font>


<% beforetime = nowtime; %>


</body>

</html>



3. sessiontimeout.jsp Test


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>session login Test</title>

<STYLE type="text/css">


#loginArea {

width:400px;

margin:auto;

border:1px solid black;

background-color:red;

}


table{

margin:auto;

}


td{ text-align:center; }

</STYLE>

</head>

<body>

<section id="loginArea">

<form action="sessionlogin_2.jsp" method="post">

<table>

<tr>

<td><label for="id">아이디</label></td>

<td><input type="text" name="id" id="id"></td>

</tr>

<tr>

<td><label for="pass">비밀번호</label></td>

<td><input type="password" name="pass" id="pass"></td>

</tr>

<tr>

<td colspan="2"><input type="submit"  value="로그인">

<input type="reset"  value="다시 작성"></td>

</tr>

</table>

</form>

</section>

</body>

</html>

sessionlogin_2.jsp로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%

session.setAttribute("id", request.getParameter("id"));

%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>session login test</title>

</head>

<body>


<h3>로그인 되었습니다.</h3>

<h3>로그인 아이디 : <%= (String)session.getAttribute("id") %></h3>

<br>

<A href="sessionlogout.jsp"> 로그아웃</A>


</body>

</html>

sessionlogout.jsp로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>session login Test</title>

<STYLE type="text/css">


#loginArea {

width:400px;

margin:auto;

border:1px solid black;

background-color:red;

}


table{

margin:auto;

}


td{ text-align:center; }

</STYLE>

</head>

<body>

<section id="loginArea"><!-- section 

서로 관계있는 문서를 분리하는 역활을 함

주로 문서를 다른 주제로 구분짓기 위해 사용함

 -->

<form action="sessionlogin_2.jsp" method="post">

<table>

<tr>

<td><label for="id">아이디</label></td>

<td><input type="text" name="id" id="id"></td>

</tr>

<tr>

<td><label for="pass">비밀번호</label></td>

<td><input type="password" name="pass" id="pass"></td>

</tr>

<tr>

<td colspan="2"><input type="submit"  value="로그인">

<input type="reset"  value="다시 작성"></td>

</tr>

</table>

</form>

</section>

</body>

</html>



4. session Test


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>


<%session.invalidate();%>


<script type="text/javascript">

<!--

location.href="sessiontest_1.jsp";

//-->

</script>

sessionInvalidate.jsp로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>


<%session.removeAttribute("name");%>


<script type="text/javascript">

<!--

location.href="sessiontest_1.jsp";

//-->

</script>

sessionDel.jsp로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%

session.setAttribute("name", "Session Ok~~~~");

%>


<script type="text/javascript">

<!--

location.href="sessiontest_1.jsp";

//-->

</script>

sessionSet.jsp로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

    

<%

String name;


if(session.getAttribute("name")!=null){

name= (String)session.getAttribute("name");

}

else

{

name="세션 삭제~~~";

}

%>        

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>session Test</title>

</head>

<body>

<h2> 세션 테스트 </h2>

<input type="button" onClick="location.href='sessionSet.jsp'" value="세션값 저장" >

<input type="button" onClick="location.href='sessionDel.jsp'" value="세션값 삭제" >

<input type="button" onClick="location.href='sessionInvalidate.jsp'" value="세션값 초기화" >

<br>

<h3><font color="green"><%=name %></font></h3>


</body>

</html>



Java Beans (자바 빈즈)


: JSP 프로그램의 장점중 하나는 비즈니스 로직부분과 프리젠테이션 부분을

  나누워 코딩 할 수 있다는 점이다.

  

  그러나 지금까지의 JSP 프로그램은 하나의 JSP 프로그램 내부에 로직부분의

  자바코드와 프리젠테이션 부분의 HTML 코드가 복잡하게 구성되었다.

  

  자바빈즈는 프로그램의 비즈니스 로직부분과 프리젠테이션 부분을 분리해서

  비즈니스 로직부분을 담당하는 자바프로그램 단위라 할 수 있다.

  

  그러므로 자바빈즈를 사용하면 JSP 페이지가 복잡한 자바코드로

  구성되는 것을 피하고 JSP 페이지에는 HTML 코드와 쉽고 간단한 자바 코드만을

  구성 할 수 있다.

  

  Java Beans 는 자바 프로그램에서 특정한 작업인 비즈니스 로직을

  독립적으로 수행하는 하나의 프로그램 단위 이다.

  

  하나의 큰 프로그램에서 독립적으로 수행되는 하나의 작은 프로그램 부품을

  Component(컴포넌트)라고 부른다.

  그러므로 자바빈즈는 자바 프로그램에서의 컴포넌트이며, 넓은 의미로

  자바빈즈는 자바의 모든 클래스를 의미 할 수 있다.

  

  이러한 자바빈즈를 잘 사용하면 한 번 작성된 자바빈즈를 여러 응용 프로그램에서

  재사용하여 프로그램의 개발 기간도 단축 할 수 있는 장점도 있다.

  

  

  자바빈즈의 구성

  

  . 자바빈즈는 일반 자바 클래스이다. 자바빈즈는 member variables 인

    fields(필드) 와 methods(메소드) 로 구성된다.

    

    자바빈즈의 필드는 일반적으로 외부에서 참조할수 없도록 private 로

    선언되며 메소드는 외부에서 자바빈즈의 필드를 참조하기위해

    public 로 선언된 setter, getter 를 제공한다.

    

    

  . 자바 빈즈 태그

  

       액션                                                내용

 

<jsp:useBean id="login"/>             JSP 와 연관 시켜 자바빈즈를 생성

 

<jsp:setProperty name="login"/>  생성된 자바빈즈의 객체를 이용해

                                                      setter 에 속성값 전달

                                                      

<jsp:getProperty name="login"/> 생성된 자바빈즈의 객체를 이용해

                                                      getter로 속성값 반환

                                                      

                                                      

     액션                      속성                  값유형              의미

     

                                  id                     String        JSP 페이지에서 자바빈즈의

                                                                      참조 변수를 저장하는 변수이름

                                                                      

 <jsp:useBean ../>      class                 String  생성할 자바빈즈의 클래스 이름

                                  

                                                          page         자바빈즈의 유효 범위를 나타내며         

                                                                           지정하지 않으면 page

                                  scope               request

                                                          session

                                                          application

                                                          

                                                          

                                                          

                                         name        String   <jsp:useBean>에서 지정한 id로 지정                           

                                                          

 <jsp:setProperty ../>        property   String  자바빈즈의 setter()의 이름 setName()에서

                                                                     set 를 제거한 name으로 지정하며

                                                                     값이 '*' 이면 파라미터의 모든 값을 의미

 

                                         param      String  속성 property 와 함께 쓰이며 지정된

                                                                     파라미터로 전달받은 파라미터의 이름을 지정

                                         

                                         value        String  속성 property 와 함께 쓰이며 자바 빈즈의

                                                                     setter() 의 setName(value) 에 지정하는

                                                                     매개변수 값인 value 지정

                                 

                                         name       String                                    

 <jsp:getProperty ../>                                           

                                         property  String

                                         

                                         

                                         

     액션                           내용

     

     page                     자바빈즈가 현재의 JSP 페이지 내에서만 사용가능하며

                                  기본 값으로 특별히 지정하지 않으면 이 값이 적용

                                  가장 좁은 범위     

  

     request                 JSP 페이지는 request 객체가 영향을 미치는 모든

                                  JSP 페이지까지 자바빈즈 이용 가능

     

     session                 session 이 유효한 페이지 까지 자바빈즈 이용가능

     

     application          응용프로그램의 모든 페이지에서 자바빈즈 객체의

                                 사용이 가능하며, 가장 넓은 범위의 scope 값

                                 

                                 

    . 자바빈즈 태그의 이용

    

    

    <jsp:useBean id="test" class="ClassName"/>

    

    

    <% Classname test = new Classname(); %>

    

    

    

    <jsp:useBean id="test" class="ClassName"/>

    

    <jsp:setProperty name="test" property="name" value="홍길동"/>

    

    <% test.setName=("홍길동"); %>

    

    

    <jsp:useBean id="test" class="ClassName"/>

    <jsp:getProperty name="test" property="name"/>

    

    <% test.getName(); %>




<java Resources > src > javabean > ScoreBean.java 생성>


package javabean;


public class ScoreBean {


private String name;

private String adress;

private int point;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAdress() {

return adress;

}

public void setAdress(String adress) {

this.adress = adress;

}

public int getPoint() {

return point;

}

public void setPoint(int point) {

this.point = point;

}


}

ScoreBean.java로 저장



5. scorenotag.jsp 사용법


<%@ page import="javabean.ScoreBean"%>

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>scorenotag.jsp 사용법</title>

</head>

<body>


<h2> 태그를 사용하지 않는 방법으로 JavaBeans 를 사용하는 예 </h2>


<% ScoreBean score = new ScoreBean(); %>


<hr size="3" color="red">

<h3> 이름과 성적을 JavaBean ScoreBean 에 저장 </h3><P>


이름 : <%="수선화" %><br>

성적 : <%="85" %><br>

주소 : <%="부천" %><p>

<% score.setName("수선화"); %>

<% score.setPoint(85); %>

<% score.setAdress("부천"); %>


<hr size="3" color="green">


<h3> JavaBeans ScoreBean 에 저장된 정보를 조회 출력 </h3>


이이름 : <% out.println(score.getName()); %><br>

성성적 : <% out.println(score.getPoint()); %><br>

주주소 : <% out.println(score.getAdress()); %><br>


</body>

</html>



6. scoretag.jsp Test


<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>scoretag.jsp Test</title>

</head>

<body>

<h2> Javabeans 를 이용한 학생 이름과 성적의 저장과 조회 </h2>


<jsp:useBean id="score" class="javabean.ScoreBean" scope="page"/>


<!-- ScoreBean score = new ScoreBean() ; -->


<hr size="3" color="green">

<h3> 이름과 성적을 JavaBeans ScoreBean 에 저장 </h3>


이름 : <%="들국화" %><br>

성적 : <%="77" %><br>

주소 : <%="부천" %><p>

<jsp:setProperty property="name" name="score" value="들국화"/>

<jsp:setProperty property="point" name="score" value="77"/>

<jsp:setProperty property="adress" name="score" value="부천"/>

<%-- <% score.setPoint(77); --%>


<hr size="3" color="cyan">


<h3> JavaBeans ScoreBean 에 저장된 정보를 조회 출력 </h3><p>


이이름 : <jsp:getProperty property="name" name="score"/><br>

성성적 : <jsp:getProperty property="point" name="score"/><br>

주주소 : <jsp:getProperty property="adress" name="score"/><br>


</body>

</html>



7. grade Test


<java Resources > src > javabean > GradeBean.java 생성>


package javabean;


public class GradeBean {

private String name;

private int point;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getPoint() {

return point;

}

public void setPoint(int point) {

this.point = point;

}


public String getGrade()

{

String grade="";

if (point > 90){

grade = "A";

}else if (point > 80){

grade = "B";

}else if (point > 70){

grade = "C";

}else if (point > 60){

grade = "D";

}

else grade ="F";


return grade;

}

}

GradeBean.java로 저장



<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>grade.jsp Test</title>

</head>

<body>


<h2> JavaBeans 를 이용한 학생의 점수에 따른 성적 처리 </h2>


<% request.setCharacterEncoding("utf-8"); %>

<jsp:useBean id="score" class="javabean.GradeBean" scope="page"/>


<hr size="3" color="#00ff00">


<h3> Form 에서 전달받은 이름과 성적을 Javabeans GradeBean 에 저장 </h3>


이름 : <%= request.getParameter("name") %><br>

성적 : <%= request.getParameter("point") %><p>



<jsp:setProperty property="*" name="score" />



<hr size="3" color="#0033dd">


<h3> JavaBeans GradeBean 에 저장된 정보를 조회 출력 </h3><P>


이름 : <jsp:getProperty property="name" name="score"/><br>

성적 : <jsp:getProperty property="point" name="score"/><br>

등급 : <jsp:getProperty property="grade" name="score"/><br>


</body>

</html>

grade.jsp로 저장



<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>grade Test</title>

</head>

<body>


<h2> 이름과 점수를 입력하세요 </h2>


<form action="grade.jsp" method="post">

이름 : <input type="text" name="name" size="20"><br>

점수 : <input type="text" name="point" size="3"><p>


<input type="submit" value="입력완료">

<input type="reset" value="취소">

</form>


</body>

</html>

+ Recent posts