직업은 선물 트레이더

[과제]웹프로그래밍. JSP 웹 사이트 어플리케이션(최종발표)

잊어버린 과거

JSP 웹 사이트 어플리케이션 만들기 프로젝트는 사실 2~3명이서 진행되었어야 했다. 그러나 저번 포스팅에서 잠깐 이야기 했듯이, 졸업작품과 관련되어 진행한다는 이야기를 교수님께 했고 혼자 진행했다.

 

최종발표에서 해야하는 것은 한가지다.

 

"잘 보여주기"

 

그 이상은 관람자가 보기 원하는 경우 보여주면 된다. 그런데 이걸 이 때 빨리 알았어야 했는데, 졸작이 끝나고 나서 늦게서야 뼈저리게 느꼈다. 아무리 기능이 뛰어나고 알고리즘이 대단해도 보여줄 때 화려하지 않으면 괜찮은 작품이라고 거의 어필이 되질 않는다.

 

그런 면에서 이 작품은 그리 큰 어필이 되지 않았다. 웹 브라우저의 큰 특징은 애니메이션이나 각종 이벤트의 표현을 어느 정도만 배우면 크게 어려움 없이 구현할 수 있다는 점이다. 그리고 앞으로는 구글 크롬 등 차세대 브라우저들에서는 애니메이션 등 무거운 작업을 더 수월하게 할 수 있게 되므로 꼭 그래픽 디자인을 잘 해야 메리트를 어필할 수 있을 것이다.

 

이 글을 보는 분들 중 웹 어플리케이션을 개발하려는 분이 있거든, 반드시 세련된UX와 그래픽적 애니메이션 그리고 심리학을 기반으로한 시각적 디자인(e.g. 인지 공학 등)을 꼭 배워서 활용하기 바란다

 

 

(2012. 12. 21(화))



T.T.B 

Community Site


- Design -






한국산업기술대 로고





Dept. Computer Engineering

2010151035 

장용하


 

 



1. 프로젝트 개요

  커뮤니티사이트의 새로운 Form을 제시하는 것을 목적으로 한 사이트이다. 졸업 작품이 장착될 예정이며, 졸업 작품의 View를 위한 웹 페이지라고 보아도 사실상 무방하다.


2. 핵심 구현내용

  1. 로그인 로그아웃 기능

  2. 회원정보 조회 및 수정 기능

  3. 게시판 조회 및 회원등급별 게시판 이용범위 제한 기능


3. 사용기술

  2.1 Web Template

  동일한 페이지의 형태를 보여주는 경우가 많기에 웹 템플릿으로 따로 구성했다. template_TTB.jsp가 이에 해당한다.


  2.2 JavaScript

  웹 서버로 데이터를 굳이 보내지 않아도 처리할 수 있는 것은 브라우저에서 처리하도록 했다.

1. register_1.htm에서 모두 체크했는지 체크함

2. register_2.jsp에서 비밀번호가 두 번 적혔는지, 모든 폼이 채워졌는지 체크함

3. login.jsp logout.jsp에서 onSubmit="CURRENT_URL.value = window.location.href" 사용. 이는 현재의 페이지를 기억하도록 도와주는 역할을 함.

4. login.jsp에서 아이디 폼 비밀번호 폼 누르면 폼 내용 지워지도록 함.

5. update.jsp에서 필수정보를 올바르게 입력했는지 확인함.



  2.3 Error Page

1. 404, 500 코드별 에러 등록

2. DB 사용하는 페이지에서 isErrorpage 지정으로 DBError.jsp 사용가능.


  2.4 JSTL

1. register_2.jsp 에서 <c:if>
2. template_TTB.jsp에서 <c:choose> <c:when> <c:otherwise>

3. update.jsp에서 <c:if>

4. board.jsp에서 <c:forEach>, <c:set>

등등.. 될 수 있으면 스크립틀릿을 피하려 했다.



  2.5 mysql - Connector/J  (select, update, delete)

1. register_3.jsp에서 사용. 회원가입시 정보.

 

데이터베이스 스키마 예시

 

2. Login_process 서블릿에서 사용. 이 서블릿은 로그인 과정 처리함

3. Mypage 서블릿에서 사용. 사용자 정보 불러오는 역할을 함.

4. list.java에서 사용하는 테이블이다.

 

데이터베이스 스키마

 

 



  2.6 SESSION

1. Login_Process 서블릿에서 로그인 성공 실패유무, 로그인 성공시 해당 ID와 회원등급 저장. 이는 template_TTB.jsp에서 확인하여 로그인 실패했다면 실패메시지를 출력, 성공했다면 로그인 상태에 있게 됨.

2. update.jsp에서 값이 제대로 변경되었는지 판별할 때 임시적으로 사용.


  2.7 JavaBean Class

1. BBSList.java를 통해 DB에서 불러온 게시판의 데이터들을 담는 역할을 한다.


  2.8 Filter Class

1. 로그인이 필요한 지역에 비 로그인 상태로 접근하려고하면, 로그인창으로 안내해주는 역할을 한다.

 

 

 

아 그리고 참고로, MySQL을 설치하고 스키마작업 등 기반을 다 만들어 놔야 톰캣으로 돌릴 수 있을 것으로 생각된다. 실제 결과물 화면은 톰캣과 DBMS 설치 및 구동의 귀차니즘으로 패스.. 당시 잘 돌아가던 소스니 필요한 분은 다운로드 받아 잘 돌려보기 바란다.