OpenFrameWork
오픈프레임워크_Day43
px
2015. 5. 14. 19:17
### : 목차 구분 기호
--- : 목차 내에 항목 구분 기호
@@@ : 태그 용도
--- : 목차 내에 항목 구분 기호
@@@ : 태그 용도
,,, : 같은 항목 내에 구분 기호
목차
1. 이론 및 정보
2. 설정 및 그 밖에
3. 소스코드 또는 실습
4. 과제
###################################
1. 이론 및 정보
-----------------------------------
* DTO 패턴, VO 패턴, DO 패턴
디자인 패턴에서 데이터 보관만 하는 클래스
Data Transfer Object - 데이터를 전송하기 좋게 포장한 객체
Value Object
Data Object
-----------------------------------
(4) Bean의 사용범위(Context영역에 따른)
1) page
2) request
3) session
4) application
(5) Bean의 Property 종류
1) 참-거짓 프로퍼티
public boolean isValid(){
...
return true or return false;
}
2) 인덱스 프로퍼티
(6) Good Tip!
-----------------------------------
* <jsp:setProperty 에서 param, value 차이
param은 form태그 안에 request 내용을 받음
form에 사용되는 태그의 name이 <jsp:setProperty property의 이름과 같으면 생략가능
value는 특정 값만 전달해서 제한적임
-----------------------------------
* getProperty 융통성
is로 시작하는 메서드도 가능
-----------------------------------
*
/BeanApp/WebContent/sessionScope.jsp
에서 restart 메서드로 버튼이 눌렸는지 아닌지 true, false 값이 전달 됨
-----------------------------------
*Custom 태그
JSTL은 custom 태그 라이브러리
-----------------------------------
###################################
2. 설정 및 그 밖에
-----------------------------------
4. 과제
-----------------------------------
###################################
2. 설정 및 그 밖에
-----------------------------------
-----------------------------------
###################################
3. 소스코드 또는 실습
-----------------------------------
###################################
3. 소스코드 또는 실습
-----------------------------------
3-1
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/requestScope.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%request.setCharacterEncoding("euc-kr");%>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request">
<jsp:setProperty name="req" property="header" param="header"/>
<jsp:setProperty name="req" property="footer" param="footer"/>
<%-- 아래와 같이 생략가능, 생략하면 form태그 안에서 property와 같은 이름을 찾아 매칭 -->
<%-- <jsp:setProperty name="req" property="header"/> --%>
<%-- <jsp:setProperty name="req" property="footer"/> --%>
</jsp:useBean>
<jsp:include page="inc/header.jsp"/>
<form method="post" action="requestScope.jsp">
머릿말에 들어갈 내용 :<br/>
<textarea rows="2" cols="60" name="header"></textarea>
<br/><br/>
꼬릿말에 들어갈 내용 :<br/>
<textarea rows="2" cols="60" name="footer"></textarea>
<br/><br/>
<input type="submit" value="새로고침"/>
</form>
<jsp:include page="inc/footer.jsp"/>
</body>
</html>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%request.setCharacterEncoding("euc-kr");%>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request">
<jsp:setProperty name="req" property="header" param="header"/>
<jsp:setProperty name="req" property="footer" param="footer"/>
<%-- 아래와 같이 생략가능, 생략하면 form태그 안에서 property와 같은 이름을 찾아 매칭 -->
<%-- <jsp:setProperty name="req" property="header"/> --%>
<%-- <jsp:setProperty name="req" property="footer"/> --%>
</jsp:useBean>
<jsp:include page="inc/header.jsp"/>
<form method="post" action="requestScope.jsp">
머릿말에 들어갈 내용 :<br/>
<textarea rows="2" cols="60" name="header"></textarea>
<br/><br/>
꼬릿말에 들어갈 내용 :<br/>
<textarea rows="2" cols="60" name="footer"></textarea>
<br/><br/>
<input type="submit" value="새로고침"/>
</form>
<jsp:include page="inc/footer.jsp"/>
</body>
</html>
-----------------------------------
3-2
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/inc/footer.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<hr/>
[꼬릿말]<br/>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request"/>
<jsp:getProperty property="footer" name="req"/>
<hr/>
[꼬릿말]<br/>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request"/>
<jsp:getProperty property="footer" name="req"/>
-----------------------------------
3-3
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/inc/header.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
[머릿말]<br/>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request"/>
<jsp:getProperty property="header" name="req"/>
<hr/>
[머릿말]<br/>
<jsp:useBean id="req" class="bean.request.RequestBean" scope="request"/>
<jsp:getProperty property="header" name="req"/>
<hr/>
-----------------------------------
3-4
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/request/RequestBean.java
package bean.request;
public class RequestBean {
private String header,footer;
public String getHeader() {
return header;
}
public void setHeader(String header) {
this.header = header;
}
public String getFooter() {
return footer;
}
public void setFooter(String footer) {
this.footer = footer;
}
}
public class RequestBean {
private String header,footer;
public String getHeader() {
return header;
}
public void setHeader(String header) {
this.header = header;
}
public String getFooter() {
return footer;
}
public void setFooter(String footer) {
this.footer = footer;
}
}
-----------------------------------
3-5
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/sessionScope.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>세션을 이용한 타이머 예제</h1>
<jsp:useBean id="timer" class="bean.session.TimerBean" scope="session">
세션 시작입니다. 타이머 작동을 시작합니다.
</jsp:useBean>
<br/><br/>
bean의 프로퍼티를 마지막으로 접근한 뒤에 경과한 시간은
<jsp:getProperty property="elapsedTimeAfterLastAccess" name="timer"/>
초입니다.
<br/><br/>
<jsp:setProperty property="restart" name="timer" param="restart"/>
<%-- 아래 처럼 생략가능 --%>
<%--<jsp:setProperty property="restart" name="timer"/> --%>
타이머 리셋한 뒤의 경과된 시간은
<jsp:getProperty property="elaspedTime" name="timer"/>
초입니다.
<br/><br/>
타이머 시작한 뒤의 경과된 시간은
<jsp:getProperty property="elapsedTimeAfterInst" name="timer"/>
초입니다.
<br/><br/>
<form action="sessionScope.jsp" method="post">
<input type="submit" name="check" value="경과시간 확인"/>
<input type="submit" name="restart" value="타이머 리셋"/>
</form>
</body>
</html>
<!--
name r/w data type explain
----------------------------------------------------------
elapsedTime r long 타이머 리셋 후 경과시간
restart w boolean 타이머 리셋
elapsedTimeAfterInst r long 객체 생성 후 경과시간
elapsedTimeAfterLastAccess r long 마지막 접근 후 경과시간
-->
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>세션을 이용한 타이머 예제</h1>
<jsp:useBean id="timer" class="bean.session.TimerBean" scope="session">
세션 시작입니다. 타이머 작동을 시작합니다.
</jsp:useBean>
<br/><br/>
bean의 프로퍼티를 마지막으로 접근한 뒤에 경과한 시간은
<jsp:getProperty property="elapsedTimeAfterLastAccess" name="timer"/>
초입니다.
<br/><br/>
<jsp:setProperty property="restart" name="timer" param="restart"/>
<%-- 아래 처럼 생략가능 --%>
<%--<jsp:setProperty property="restart" name="timer"/> --%>
타이머 리셋한 뒤의 경과된 시간은
<jsp:getProperty property="elaspedTime" name="timer"/>
초입니다.
<br/><br/>
타이머 시작한 뒤의 경과된 시간은
<jsp:getProperty property="elapsedTimeAfterInst" name="timer"/>
초입니다.
<br/><br/>
<form action="sessionScope.jsp" method="post">
<input type="submit" name="check" value="경과시간 확인"/>
<input type="submit" name="restart" value="타이머 리셋"/>
</form>
</body>
</html>
<!--
name r/w data type explain
----------------------------------------------------------
elapsedTime r long 타이머 리셋 후 경과시간
restart w boolean 타이머 리셋
elapsedTimeAfterInst r long 객체 생성 후 경과시간
elapsedTimeAfterLastAccess r long 마지막 접근 후 경과시간
-->
-----------------------------------
3-6
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/session/TimerBean.java
package bean.session;
public class TimerBean {
private long startTime; //타이머를 리셋한 시간
private long instTime; //전체 시간
private long lastAccessTime; //프로퍼티에 접근한 이후에 경과된 시간
public TimerBean() {
startTime = System.currentTimeMillis( );
lastAccessTime = startTime;
instTime = startTime;
}
// 타이머가 리셋한 뒤에 경과된 시간
public long getElaspedTime(){
lastAccessTime = System.currentTimeMillis( );
return (lastAccessTime - startTime)/1000;
}
// 리셋 버튼을 눌렀을 때
public void setRestart(boolean restart){
lastAccessTime = System.currentTimeMillis( );
startTime = lastAccessTime;
}
// 전체시간
public long getElapsedTimeAfterInst(){
lastAccessTime = System.currentTimeMillis( );
return (lastAccessTime - instTime)/1000;
}
public long getElapsedTimeAfterLastAccess(){
long current = System.currentTimeMillis( );
long elapsed = (current-lastAccessTime);
lastAccessTime = System.currentTimeMillis( );
return elapsed/1000;
}
}
public class TimerBean {
private long startTime; //타이머를 리셋한 시간
private long instTime; //전체 시간
private long lastAccessTime; //프로퍼티에 접근한 이후에 경과된 시간
public TimerBean() {
startTime = System.currentTimeMillis( );
lastAccessTime = startTime;
instTime = startTime;
}
// 타이머가 리셋한 뒤에 경과된 시간
public long getElaspedTime(){
lastAccessTime = System.currentTimeMillis( );
return (lastAccessTime - startTime)/1000;
}
// 리셋 버튼을 눌렀을 때
public void setRestart(boolean restart){
lastAccessTime = System.currentTimeMillis( );
startTime = lastAccessTime;
}
// 전체시간
public long getElapsedTimeAfterInst(){
lastAccessTime = System.currentTimeMillis( );
return (lastAccessTime - instTime)/1000;
}
public long getElapsedTimeAfterLastAccess(){
long current = System.currentTimeMillis( );
long elapsed = (current-lastAccessTime);
lastAccessTime = System.currentTimeMillis( );
return elapsed/1000;
}
}
-----------------------------------
3-7
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/applicationScope.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>전체 방문자 수 확인</h1>
<%-- 새로 고침 누를때마다 방문자 증가 하도록 만들기 --%>
<jsp:useBean id="counter" class="bean.application.CounterBean" scope="application">
<jsp:setProperty name="counter" property="newVisit" value="1"/>
</jsp:useBean>
<jsp:setProperty property="restart" name="counter" />
<jsp:setProperty property="refresh" name="counter" />
<h2>전체 방문자 수 : <jsp:getProperty property="visitCount" name="counter"/> </h2>
<form action="applicationScope.jsp" method="post">
<input type="submit" name="refresh" value="새로 고침"/>
<input type="submit" name="restart" value="카운터를 0으로 리셋"/>
</form>
</body>
</html>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>전체 방문자 수 확인</h1>
<%-- 새로 고침 누를때마다 방문자 증가 하도록 만들기 --%>
<jsp:useBean id="counter" class="bean.application.CounterBean" scope="application">
<jsp:setProperty name="counter" property="newVisit" value="1"/>
</jsp:useBean>
<jsp:setProperty property="restart" name="counter" />
<jsp:setProperty property="refresh" name="counter" />
<h2>전체 방문자 수 : <jsp:getProperty property="visitCount" name="counter"/> </h2>
<form action="applicationScope.jsp" method="post">
<input type="submit" name="refresh" value="새로 고침"/>
<input type="submit" name="restart" value="카운터를 0으로 리셋"/>
</form>
</body>
</html>
-----------------------------------
3-8
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/application/CounterBean.java
package bean.application;
public class CounterBean {
private int count;
public CounterBean() {
count = 0;
}
public int getVisitCount() {
return count;
}
public void setNewVisit(int count) {
this.count = count;
}
public void setRestart(boolean b) {
this.count = 0;
}
public void setRefresh(boolean b) {
this.count++;
}
}
public class CounterBean {
private int count;
public CounterBean() {
count = 0;
}
public int getVisitCount() {
return count;
}
public void setNewVisit(int count) {
this.count = count;
}
public void setRestart(boolean b) {
this.count = 0;
}
public void setRefresh(boolean b) {
this.count++;
}
}
-----------------------------------
3-9
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/parking.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%request.setCharacterEncoding("euc-kr");%>
<jsp:useBean id="car" class="bean.index.CarDto"/>
<jsp:useBean id="parking" class="bean.index.ParkingBean" scope="application"/>
<jsp:setProperty property="enter" name="parking"/>
<jsp:setProperty property="exit" name="parking"/>
<form action="parking.jsp" method="post">
주차장에 들어온 차 번호 : <input type="text" name="enter"/>
<input type="submit" value="입차"/>
</form>
<form action="parking.jsp" method="post">
주차장에 나간 차 번호 : <input type="text" name="exit"/>
<input type="submit" value="출차"/>
</form>
<hr/>
주차된 차량 목록 : <br/>
<table border="1">
<tr>
<th>차량 번호</th><th>입차 시간</th>
</tr>
<%/*
if(parking.getCarList().length > 0){
for(int i=0; i<parking.getCarList().length;i++){
//car = parking.getCarList()[i];
pageContext.setAttribute("car", parking.getCarList()[i]);
*/
if(parking.getCarList().size() > 0){
for(int i=0; i<parking.getCarList().size();i++){
//car = parking.getCarList()[i];
pageContext.setAttribute("car", parking.getCarList().get(i));
%>
<tr>
<%--
<th><%=car.getPlateNumber()%></th>
<th><%=car.getParkingTime()%></th>
--%>
<th><jsp:getProperty property="plateNumber" name="car"/></th>
<th><jsp:getProperty property="parkingTime" name="car"/></th>
</tr>
<%}
}%>
</table>
<br/>
총 주차 대수 : <jsp:getProperty property="total" name="parking"/>
</body>
</html>
<!--
class name : bean.index.CarDto
name r/w data type explain
----------------------------------------------------------------------------
plateNumber r String 차량 번호
parkingTime r java.util.Date 입차 시간
class name : bean.index.ParkingBean
name r/w data type explain
----------------------------------------------------------------------------
enter w String 입차된 차량 정보
exit w String 출차된 차량 정보
total r int 주차된 총 차량 대수
carDto r carDto 특정 차량 조회
carList r carDto[] 전체 차량 조회
-->
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<%request.setCharacterEncoding("euc-kr");%>
<jsp:useBean id="car" class="bean.index.CarDto"/>
<jsp:useBean id="parking" class="bean.index.ParkingBean" scope="application"/>
<jsp:setProperty property="enter" name="parking"/>
<jsp:setProperty property="exit" name="parking"/>
<form action="parking.jsp" method="post">
주차장에 들어온 차 번호 : <input type="text" name="enter"/>
<input type="submit" value="입차"/>
</form>
<form action="parking.jsp" method="post">
주차장에 나간 차 번호 : <input type="text" name="exit"/>
<input type="submit" value="출차"/>
</form>
<hr/>
주차된 차량 목록 : <br/>
<table border="1">
<tr>
<th>차량 번호</th><th>입차 시간</th>
</tr>
<%/*
if(parking.getCarList().length > 0){
for(int i=0; i<parking.getCarList().length;i++){
//car = parking.getCarList()[i];
pageContext.setAttribute("car", parking.getCarList()[i]);
*/
if(parking.getCarList().size() > 0){
for(int i=0; i<parking.getCarList().size();i++){
//car = parking.getCarList()[i];
pageContext.setAttribute("car", parking.getCarList().get(i));
%>
<tr>
<%--
<th><%=car.getPlateNumber()%></th>
<th><%=car.getParkingTime()%></th>
--%>
<th><jsp:getProperty property="plateNumber" name="car"/></th>
<th><jsp:getProperty property="parkingTime" name="car"/></th>
</tr>
<%}
}%>
</table>
<br/>
총 주차 대수 : <jsp:getProperty property="total" name="parking"/>
</body>
</html>
<!--
class name : bean.index.CarDto
name r/w data type explain
----------------------------------------------------------------------------
plateNumber r String 차량 번호
parkingTime r java.util.Date 입차 시간
class name : bean.index.ParkingBean
name r/w data type explain
----------------------------------------------------------------------------
enter w String 입차된 차량 정보
exit w String 출차된 차량 정보
total r int 주차된 총 차량 대수
carDto r carDto 특정 차량 조회
carList r carDto[] 전체 차량 조회
-->
-----------------------------------
3-10
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/index/CarDto.java
package bean.index;
public class CarDto {
private String plateNumber;
private long parkingTime;
public CarDto() {}
public CarDto(String plateNumber, long parkingTime) {
this.plateNumber = plateNumber;
this.parkingTime = parkingTime;
}
public String getPlateNumber() {
return plateNumber;
}
public java.util.Date getParkingTime() {
return new java.util.Date(parkingTime);
}
}
public class CarDto {
private String plateNumber;
private long parkingTime;
public CarDto() {}
public CarDto(String plateNumber, long parkingTime) {
this.plateNumber = plateNumber;
this.parkingTime = parkingTime;
}
public String getPlateNumber() {
return plateNumber;
}
public java.util.Date getParkingTime() {
return new java.util.Date(parkingTime);
}
}
-----------------------------------
3-11
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/index/ParkingBean.java
package bean.index;
import java.util.Vector;
public class ParkingBean {
private Vector<CarDto> carList = new Vector<CarDto>();
public void setEnter(String enter){
for(int i=0; i<carList.size();i++){
if(carList.get(i).getPlateNumber().equals(enter)){
return;
}
}
CarDto car = new CarDto(enter, System.currentTimeMillis());
carList.add(car);
}
public void setExit(String exit){
for(int i=0; i<carList.size();i++){
if(carList.get(i).getPlateNumber().equals(exit)){
carList.remove(i);
}
}
}
public int getTotal(){
return carList.size();
}
/*
public CarDto[] getCarList() {
CarDto[] cars = new CarDto[carList.size()];
for(int i=0; i<carList.size();i++){
cars[i] = carList.get(i);
}
return cars;
}
*/
public Vector<CarDto> getCarList() {
return carList;
}
}
import java.util.Vector;
public class ParkingBean {
private Vector<CarDto> carList = new Vector<CarDto>();
public void setEnter(String enter){
for(int i=0; i<carList.size();i++){
if(carList.get(i).getPlateNumber().equals(enter)){
return;
}
}
CarDto car = new CarDto(enter, System.currentTimeMillis());
carList.add(car);
}
public void setExit(String exit){
for(int i=0; i<carList.size();i++){
if(carList.get(i).getPlateNumber().equals(exit)){
carList.remove(i);
}
}
}
public int getTotal(){
return carList.size();
}
/*
public CarDto[] getCarList() {
CarDto[] cars = new CarDto[carList.size()];
for(int i=0; i<carList.size();i++){
cars[i] = carList.get(i);
}
return cars;
}
*/
public Vector<CarDto> getCarList() {
return carList;
}
}
-----------------------------------
3-12
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/register.html
/BeanApp/WebContent/register.html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>회원가입</h1>
<form action="register_proc.jsp" method="post">
아이디 : <input type="text" name="mem_id"/><br/><br/>
패스워드 : <input type="password" name="mem_pw"/><br/><br/>
이름 : <input type="text" name="mem_name"/><br/><br/>
이메일 : <input type="text" name="mem_email"/><br/><br/>
전화번호 : <input type="text" name="mem_tel"/><br/><br/>
주소 : <input type="text" name="mem_addr"/><br/><br/>
<input type="submit" value="가입신청"/><br/><br/>
</form>
</body>
</html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>회원가입</h1>
<form action="register_proc.jsp" method="post">
아이디 : <input type="text" name="mem_id"/><br/><br/>
패스워드 : <input type="password" name="mem_pw"/><br/><br/>
이름 : <input type="text" name="mem_name"/><br/><br/>
이메일 : <input type="text" name="mem_email"/><br/><br/>
전화번호 : <input type="text" name="mem_tel"/><br/><br/>
주소 : <input type="text" name="mem_addr"/><br/><br/>
<input type="submit" value="가입신청"/><br/><br/>
</form>
</body>
</html>
-----------------------------------
3-13
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/register_proc.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="mem" class="bean.memberDto"/>
<%--
<jsp:setProperty property="mem_id" name="mem"/>
<jsp:setProperty property="mem_pw" name="mem"/>
<jsp:setProperty property="mem_name" name="mem"/>
<jsp:setProperty property="mem_email" name="mem"/>
<jsp:setProperty property="mem_tel" name="mem"/>
<jsp:setProperty property="mem_addr" name="mem"/>
--%>
<%-- 모든 프로퍼티 한번에 저장 --%>
<jsp:setProperty property="*" name="mem"/>
<h1>입력하신 내용은 다음과 같습니다.</h1>
아이디 : <jsp:getProperty property="mem_id" name="mem"/><br/>
패스워드 : <jsp:setProperty property="mem_pw" name="mem"/><br/>
이름 : <jsp:getProperty property="mem_name" name="mem"/><br/>
이메일 : <jsp:getProperty property="mem_email" name="mem"/><br/>
전화번호 : <jsp:getProperty property="mem_tel" name="mem"/><br/>
주소 : <jsp:getProperty property="mem_addr" name="mem"/><br/>
</body>
</html>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="mem" class="bean.memberDto"/>
<%--
<jsp:setProperty property="mem_id" name="mem"/>
<jsp:setProperty property="mem_pw" name="mem"/>
<jsp:setProperty property="mem_name" name="mem"/>
<jsp:setProperty property="mem_email" name="mem"/>
<jsp:setProperty property="mem_tel" name="mem"/>
<jsp:setProperty property="mem_addr" name="mem"/>
--%>
<%-- 모든 프로퍼티 한번에 저장 --%>
<jsp:setProperty property="*" name="mem"/>
<h1>입력하신 내용은 다음과 같습니다.</h1>
아이디 : <jsp:getProperty property="mem_id" name="mem"/><br/>
패스워드 : <jsp:setProperty property="mem_pw" name="mem"/><br/>
이름 : <jsp:getProperty property="mem_name" name="mem"/><br/>
이메일 : <jsp:getProperty property="mem_email" name="mem"/><br/>
전화번호 : <jsp:getProperty property="mem_tel" name="mem"/><br/>
주소 : <jsp:getProperty property="mem_addr" name="mem"/><br/>
</body>
</html>
-----------------------------------
###################################4. 과제
-----------------------------------
4-1
JSP로 게시판 혼자만드는 코딩 시험 볼 예정,JSP끝날 때
-----------------------------------
###################################
5. 과제 해결
-----------------------------------
5. 과제 해결
-----------------------------------
Workspace : ~\JSP\EclipseWork
/BeanApp/WebContent/applicationScope.jsp
<%@ page contentType="text/html; charset=EUC-KR"%>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>전체 방문자 수 확인</h1>
<%-- 새로 고침 누를때마다 방문자 증가 하도록 만들기 --%>
<jsp:useBean id="counter" class="bean.application.CounterBean" scope="application"/>
<jsp:setProperty name="counter" property="newVisit" value="1"/>
<jsp:setProperty property="restart" name="counter" />
<h2>전체 방문자 수 : <jsp:getProperty property="visitCount" name="counter"/> </h2>
<form action="applicationScope.jsp" method="post">
<input type="submit" name="refresh" value="새로 고침"/>
<input type="submit" name="restart" value="카운터를 0으로 리셋"/>
</form>
</body>
</html>
<!DOCTYPE html >
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<h1>전체 방문자 수 확인</h1>
<%-- 새로 고침 누를때마다 방문자 증가 하도록 만들기 --%>
<jsp:useBean id="counter" class="bean.application.CounterBean" scope="application"/>
<jsp:setProperty name="counter" property="newVisit" value="1"/>
<jsp:setProperty property="restart" name="counter" />
<h2>전체 방문자 수 : <jsp:getProperty property="visitCount" name="counter"/> </h2>
<form action="applicationScope.jsp" method="post">
<input type="submit" name="refresh" value="새로 고침"/>
<input type="submit" name="restart" value="카운터를 0으로 리셋"/>
</form>
</body>
</html>
Workspace : ~\JSP\EclipseWork
/BeanApp/src/bean/application/CounterBean.java
package bean.application;
public class CounterBean {
private int count;
public int getVisitCount() {
return count;
}
public void setNewVisit(int count) {
this.count += count;
}
public void setRestart(boolean b) {
this.count = 0;
}
}
public class CounterBean {
private int count;
public int getVisitCount() {
return count;
}
public void setNewVisit(int count) {
this.count += count;
}
public void setRestart(boolean b) {
this.count = 0;
}
}
-----------------------------------
###################################
6. 기타
----------------------------------- -----------------------------------