본문 바로가기

개발자노트/웹

HTML - JSP - Java Beans를 이용한 게시판 예제

main.jsp (메인페이지 코드)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.ArrayList" import="test.MemberBean"%>
<jsp:useBean id="mmb" class="test.MemberManagerBean" scope="session" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>메인 페이지</title>
<body>

<a href="form.html">등록 페이지로 가기</a>
<hr>
<ol>
<%
	MemberBean mb = new MemberBean();
	for(MemberBean v:mmb.sellectAll(mb)) {
%>
	<li> <%=v.getUname() %>님 <%=v.getScore() %> 점 성별:<%=v.getGen() %> </li>
<%
	}
%>
</ol>
</body>
</html>

 

form.jsp ( 등록 페이지 코드 )

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>등록페이지</title>
</head>

<body>

<form action="result.jsp" method="post">
   이름: <input type="text" name="uname" required > <br>
   점수: <input type="number" name="score" min="0" max="100" required> <br>
   성별: <div>
      <input type="radio" id="gender" name="gen" value="남">
      <label for="남">남</label>
    </div>

    <div>
      <input type="radio" id="gender" name="gen" value="여">
      <label for="여">여</label>
    </div>

    <div>
      <input type="radio" id="gender" name="gen" value="선택안함" checked>
      <label for="선택안함">선택안함</label>
    </div>
    
     <input type="submit" value="등록하기">
    
</form>

</body>
</html>

 

result.jsp (정보 등록결과 창)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="java.util.ArrayList" import="test.MemberBean" %>
<%
	request.setCharacterEncoding("UTF-8");
%>
<jsp:useBean id="mmb" class="test.MemberManagerBean" scope="session" />
<jsp:useBean id="mb" class="test.MemberBean" />
<jsp:setProperty property="*" name="mb"/>


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>정보 등록창</title>
</head>
<body>
<% 
	mmb.insert(mb);
	MemberBean data = mmb.selectOne(mb); 
%>

<table border="2">
	<tr>
		<td>이름</td>
		<td><%= data.getUname()%></td>
	</tr>
	<tr>
		<td>점수</td>
		<td><%=request.getParameter("score") %></td>
	</tr>
	<tr>
		<td>성별</td>
		<td><%= data.getGen()%>


</table>
<a href="main.jsp">처음 페이지로 가기</a>

</body>
</html>

 

MemberBean.java 코드 ( 객체생성을 위한, VO같은 역할 )

package test;

public class MemberBean {
	private String uname;
	private String score;
	private String gen;
	
	public String getUname() {
		return uname;
	}
	public void setUname(String uname) {
		this.uname = uname;
	}

	public String getScore() {
		return score;
	}
	public void setScore(String score) {
		this.score = score;
	}

	public String getGen() {
		return gen;
	}
	public void setGen(String gen) {
		this.gen = gen;
	}
	
}

 

MemberManagerBean.java ( insert / selectAll 등의 로직을 담당, DAO 같은 역할 )

package test;

import java.util.ArrayList;

public class MemberManagerBean {
	ArrayList<MemberBean> datas=new ArrayList<MemberBean>();
	
	public boolean insert(MemberBean mb) {
		datas.add(mb);
		return true;
	}
	public ArrayList<MemberBean> sellectAll(MemberBean mb) {
		return datas;
	}
	public MemberBean selectOne(MemberBean mb) {
		for(MemberBean v:datas) {
			if(mb.getUname().equals(v.getUname())) {
				return v;
			}
		}
		return null;
	}
}

 

수행결과

 

메인페이지)

 

 

 

등록페이지)

선택안함이 default, 점수에는 숫자 0~100 사이의 수만 입력가능

 

 

등록결과페이지)

 

 

등록 후 메인페이지)