ITWILL학원 : 33강 JSP기초 BY 정규태강사
html로 만들어진 홈페이지를 jsp로 변경해보자.
1. main.jsp 생성
path설정
페이지 인클루드 2가지방법
1 2 3 4 5 6 7 8
| <!-- JSP 지시어 : 공통으로 사용되는 변수를 파일에 지정해서 추가 --> <%@ include ~ %>
<!-- 액션태그 : 공통으로 사용되는 메뉴들을(페이지) 특정 공간에 추가 --> <jsp:include page="">
<!-- 예시 --> <jsp:include page="../inc/top.jsp"></jsp:include>
|
코드블록 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <body> <div id="wrap">
<!-- 헤더파일들어가는 곳 (page Include)--> <jsp:include page="../inc/top.jsp"></jsp:include> <!-- 헤더파일들어가는 곳 (page Include)-->
<!-- 메인이미지 들어가는곳 --> <!-- 메인이미지 들어가는곳 -->
<!-- 메인 콘텐츠 들어가는 곳 --> <!-- 메인 콘텐츠 들어가는 곳 -->
<!-- 푸터 들어가는 곳 --> <jsp:include page="../inc/bottom.jsp"></jsp:include> <!-- 푸터 들어가는 곳 --> </div> </body>
|
2. index.jsp생성
1 2 3 4
| <%
response.sendRedirect("./main/main.jsp"); %>
|
3. top.jsp 생성
화면상단에 위치하는 메뉴바 처리페이지
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<% //화면상단에 위치하는 메뉴바 처리페이지
%> <header> <div id="login"><a href="../member/loginForm.jsp">login</a> | <a href="../member/joinFrom.jsp">join</a></div> <div class="clear"></div>
<div id="logo"><img src="../images/logo.gif" width="265" height="62"></div>
<nav id="top_menu"> <ul> <li><a href="../index.jsp">HOME</a></li> <li><a href="../company/welcome.html">COMPANY</a></li> <li><a href="#">SOLUTIONS</a></li> <li><a href="../center/notice.html">CUSTOMER CENTER</a></li> <li><a href="#">CONTACT US</a></li> </ul> </nav> </header>
|
4. bottom.jsp 생성
화면하단에 위치하는 footer 처리페이지
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<% //화면하단에 위치하는 footer 처리페이지
%> <footer> <hr> <div id="copy">All contents Copyright 2011 FunWeb 2011 FunWeb Inc. all rights reserved<br> Contact mail:funweb@funwebbiz.com Tel +82 64 123 4315 Fax +82 64 123 4321</div> <div id="social"> <img src="../images/Instagram.gif" width="33" height="33" alt="Instagram"> <img src="../images/twitter.gif" width="34" height="34" alt="Twitter"> </div> </footer>
|
원하는 회원가입 폼양식 생성하면 된다.
코드블록은 생략하도록 한다.
6. joinPro.jsp 생성
자바빈을 작성하려면 테이블이 생성되어있어야한다.
joinPro.jsp의 남은 코드는 순서대로 아래에 추가해서 작성할 예정이다.
1 2 3 4 5
| <%
request.setCharacterEncoding("UTF-8");
%>
|
7. MySQL에서 테이블생성
8. MemberBean.java생성
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 31 32 33 34 35 36 37 38 39 40 41 42 43
| package com.itwillbs.member;
import java.sql.Date;
public class MemberBean {
private String id; private String pw; private String name; private String email; private int birth; private String gender; private String addr; private String mobile; private Date re_date; public String getId() { return id; } public void setId(String id) { this.id = id; } (중략)
@Override public String toString() { return "MemberBean [id=" + id + ", pw=" + pw + ", name=" + name + ", email=" + email + ", birth=" + birth + ", gender=" + gender + ", addr=" + addr + ", mobile=" + mobile + ", re_date=" + re_date + "]"; } }
|
9. MemberDAO.java 생성
DB연결과 자원해제 메서드를 생성한다
- 자원해제는 사용한 객체 역순으로 진행하는 것이 안전하게 자원해제할 수 있다
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| import javax.sql.DataSource;
public class MemberDAO { Connection con = null; String sql = ""; PreparedStatement pstmt = null; ResultSet rs = null;
private Connection getCon() throws Exception { Context init = new InitialContext(); DataSource ds = (DataSource) init.lookup("java:comp/env/jdbc/funwebDB"); return con; } public void close(){ try{ if(rs != null) rs.close(); if(pstmt != null) pstmt.close(); if(con != null) con.close(); } catch (SQLException e) { e.printStackTrace(); } } }
|
10. context.xml 생성
주요 체크사항
- name : 사용할 이름으로 작성
- url : 테이블이 있는 DB경로
- username과 password
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?> <!-- 디비연결에 필요한 정보 저장 --> <Context> <Resource name="jdbc/fubwebDB" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/funwebdb" username="root" password="1234" /> </Context>
|