Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

Everything has an expiration date

[JSP Action Tag] 20231218 - GuestDTO, Guest, Guest_ok 본문

[JSP & Servlet]/Program source (JSP & Servlet)

[JSP Action Tag] 20231218 - GuestDTO, Guest, Guest_ok

Jelly-fish 2023. 12. 18. 13:05

01
Guest, Guest_ok

 

 

 

WebApp17


 

GuestDTO.java

 

/*===========================
 	GuestDTO.java
===========================*/
package com.test;

public class GuestDTO
{
	
	// 주요 속성 구성
	
	//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
	// Guest.jsp 에서의 
	// HTML 사용자 입력(input)객체 name 값과 
	// 변수명이 동일하지 않으므로 NG!!!
	//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
	
//	private String name;		//-- 게시물 작성자
//	private String title;		//-- 게시물 제목
//	private String str;			//-- 게시물 내용
	//※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
	
	private String userName;	//-- 게시물 작성자
	private String subject;		//-- 게시물 제목
	private String content;		//-- 게시물 내용
	
	public String getUserName()
	{
		return userName;
	}
	public void setUserName(String userName)
	{
		this.userName = userName;
	}
	public String getSubject()
	{
		return subject;
	}
	public void setSubject(String subject)
	{
		this.subject = subject;
	}
	public String getContent()
	{
		return content;
	}
	public void setContent(String content)
	{
		this.content = content;
	}
	
	// ※ 여기에서 사용하는 변수명(속성명)의 앞 두 글자는 소문자로 작성할 것~!!!	check~!!!
	//    numScore → getNumScore() / setNumScore()
	//    nScore   → getNScore() / setNScore()
	//                ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄→ 서블릿 컨테이너가 인식을 잘못할 수 있으므로!
	//											  버전에 따라 다르게 인식할 가능성이 있다.
	//											  (사용자가 직접 호출할 때는 상관 없지만..
	//                                             서블릿 컨테이너에게 게터세터 호출을 맡기므로...)
	//                getnScore() / setnScore()
	//                getNscore() / setNscore()
	//    와 같이 setter 가 속성명을 불러오는 과정에서
	//    인식이 어긋나는 경우가 발생할 수 있기 때문...
	
	// ※ 여기에서 사용하는 변수명(속성명)은
	//    HTML 의 form 태그에서 name 속성으로 지정하여 사용할 것.
	//    그래야 속성 데이터 수신 및 속성 매핑을
	//    액션 태그를 활용하여 자동으로 처리해줄 수 있기 때문...
	
	
	
	
	
	
//	String name, title, content;
//
//	public String getName()
//	{
//		return name;
//	}
//
//	public void setName(String name)
//	{
//		this.name = name;
//	}
//
//	public String getTitle()
//	{
//		return title;
//	}
//
//	public void setTitle(String title)
//	{
//		this.title = title;
//	}
//
//	public String getContent()
//	{
//		return content;
//	}
//
//	public void setContent(String content)
//	{
//		this.content = content;
//	}
//	
	
}

 


 

Guest.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Guest.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
<script type="text/javascript">

	// 이건 내꺼ㅎㅎ
	function submit()
	{
		myForm.submit();	
	}
	
	// 이건 선생님꺼~
	function sendIt()
	{
		// 확인
		//alert("함수 호출~!!!");
		
		var f = document.myForm;
		
		// :
		// 체크 및 검증할 내용의 코드 작성 가능...
		// :
		
		f.submit();
		
	}
	
</script>
</head>
<body>

<div>
	<h1>간단한 기본 방명록 작성 실습</h1>
	<hr>
</div>

<div>
	<form action="Guest_ok.jsp" method="post" name="myForm">
		<table class="table">
			<tr>
				<th>이름</th>
				<td>
					<!-- <input type="text" class="txt" name="name"> -->
					<input type="text" class="txt" name="userName">
				</td>
			</tr>
			<tr>
				<th>제목</th>
				<td>
					<!-- <input type="text" class="txt" name="title"> -->
					<input type="text" class="txt" name="subject">
				</td>
			</tr>
			<tr>
				<th>내용</th>
				<td>
					<textarea rows="5" cols="30" name="content"></textarea>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<!-- <button type="button" class="btn" style="width: 100%;" onclick="submit()">방명록 작성</button> -->
					<button type="button" class="btn" style="width: 100%;" onclick="sendIt()">방명록 작성</button>
				</td>
			</tr>
		</table>
	</form>
</div>

</body>
</html>

 

Guest_ok.jsp

 

<%@ page contentType="text/html; charset=UTF-8"%>
<% 
	request.setCharacterEncoding("UTF-8");
%>
											   <!-- 접근 가능 영역 : 이 페이지 -->
<jsp:useBean id="ob" class="com.test.GuestDTO" scope="page"></jsp:useBean>
<jsp:setProperty property="*" name="ob"/>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Guest_ok.jsp</title>
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>

<div>
	<h1>간단한 기본 방명록 작성 실습</h1>
	<hr>
</div>
<%-- 
<jsp:useBean id="guest" class="com.test.GuestDTO" />
<jsp:setProperty property="*" name="guest"/>
 --%>
 
 


<!-- 
<div>
	<h2>작성된 내용</h2>
	<h3>이름 : 홍길동</h3>
	<h3>제목 : 어쩌구저쩌구</h3>
	<h3>내용 : 이러쿵 저러쿵 궁시렁 궁시렁</h3>
</div>

 -->
 
<!-- div>h2{작성된 내용}+h3{이름 : }+h3{제목 : }+h3{내용 : } -->
<%-- 
<div>
	<h2>작성된 내용</h2>
	<h3>이름 : <%=guest.getName() %></h3>
	<h3>제목 : <%=guest.getTitle() %></h3>
	<h3>내용 : <%=guest.getContent() %></h3>
</div>
 --%>
 
<div>
	<h2>작성된 내용</h2>
	
	<h3>이름 : <%=ob.getUserName() %></h3>
	<h3>제목 : <%=ob.getSubject() %></h3>
	<!-- textarea 같은 경우에는, java의 System.out.println 처럼
	     개행을 "\n" 으로 처리하므로, replaceAll 을 통해
	     개행 문자를 "<br>" 으로 처리해 준다. -->
	<!--★★★★★★★★★★★★★★★★★★★★★★★★★★★★-->
	<h3>내용 : <%=ob.getContent().replaceAll("\n", "<br>") %></h3>
	<!--★★★★★★★★★★★★★★★★★★★★★★★★★★★★-->
</div>
 
 
</body>
</html>