JSP태그 혹은 JSP액션 ======================== - 스크립트릿에서 필요한 객체를 생성해서 사용하려면 자바코드를 작성해야만 했다. 그러나 자바 코드를 사용하지 않고 태그를 사용하는 방법 - xml문법을 따른다. - useBean으로 사용되는 객체는 반드시 변수명과 똑같이 set/get메서드를 가지고 있어야 한다. - 클래스 파일의 경로 : 클래스가 패키지 내 소속되어있어야만 돌아가도록 되어 잇음 WEB-INF/classes/myapp/Connection.class
================================== 1) jsp:useBean 태그 => 객체를 만듦 ================================== ┌> Action Tag ┌> 패키지명(폴더명) <jsp:useBean id="conn" class="myapp.Connection" /> └> 액션태그 이름 Bean을 사용하겠다 └> JSP에서 쓰는 작은 객체
※ 객체 사용하는 방법 java코드)) 클래스명 객체명 => ┌ class="클래스명" └ id="객체명"
==================================== 2) jsp:setProperty 태그 => 변수를 세팅 ==================================== - <jsp:setProperty name="useBean에서 정의한 객체명" property="변수명" value="변수값" /> └>객체명.set변수명(변수값); - p.246 변수 세팅해주는 것 ------------------------ 참고할 부분 -------------------------- <jsp:useBean id="mem" class="mypack.Member"> <jsp:setProperty name="mem" property="*" /> </jsp:useBean> ----------------------------------------------------- => *하면, 넘겨온 값을 받아서 전부다 세팅해줌!! mem.setName(request.getParameter("name")); mem.setPhone(request.getParameter("phone")); 이 기능을 대신 해줌!! ----------------------------------------------------------------
1. Bean 생성 2. Form 받기 3. Bean에 Form 데이터 Setting 4. Bean에서 이 내용을 파일에 쓰기!
============================================================================= Member.java => Bean을 만들어 쓰기 위한 클래스!! ==============================================================================
//1. Bean 생성
//2. Form 받기
//3. Bean에 Form 데이터 Setting
//4. Bean에서 이 내용을 파일에 쓰기!
package mypack;
import java.io.*;
public class Member {
//멤버변수
private String name;
private String phone;
//생성자
public Member() {}
//set & get메소드
public void setName(String name){
this.name = name;
}
public void setPhone(String phone){
this.phone = phone;
}
public String getName(){
return name;
}
public String getPhone(){
return phone;
}
public void save(){
try{
//★이것은 한글안깨지게하는것이다
name = new String(name.getBytes("8859_1"),"KSC5601");
phone = new String(phone.getBytes("8859_1"),"KSC5601");
PrintWriter pw = new PrintWriter(new FileWriter("d:/db3.txt"));
pw.println("이름 : " + name);
pw.println("전화번호 : " + phone);
pw.flush();
}catch(Exception e){}
}
}
============================================================================== form.html => name 과 phone값을 넘겨받기 위해!! ==============================================================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="JSPaction.jsp" method="post">
name : <input type="text" name="name"><br>
phone : <input type="text" name="phone"><br><br>
<input type="submit" value="전송">
</form>
</body>
</html>
====================================================================================== JSPaction.jsp => JSP 태그인, useBean/setProperty를 이용해서 넘겨받은 값을 파일에 저장! ======================================================================================
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <jsp:useBean id="mem" class="mypack.Member"> <jsp:setProperty name="mem" property="*" /> </jsp:useBean> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-KR"> <title>Insert title here</title> </head> <body> <H2>데이터 값을 저장!</H2><p> <% mem.save(); %> 이름 : <%= mem.getName()%><br> 전화번호 : <%= mem.getPhone()%> </body> </html>