책 한눈에 보기
항목 |
내용 |
도서명 |
JSP 게시판 만들기, 웹 사이트 개발하기, 파일 업로드 |
저자 |
동빈나 |
키워드 |
JSP, 웹사이트 개발, 파일 업로드, DAO, 세션, 보안, Bootstrap, MySQL |
1. JSP 게시판 만들기
- JSP는 서버 프로그래밍 언어로, 홈페이지의 게시판, 로그인, 회원가입 기능 등을 구현할 때 널리 활용됨.
- JSP 사용 전에는 JDK 설치 및 환경 변수 세팅이 필수이며, 서버로는 TOMCAT이 대표적.
- 개발 환경은 보통 이클립스(Eclipse)를 많이 사용하며, 변수 선언 후 자동 함수 생성 기능 등을 제공.
- DAO(Data Access Object)는 데이터베이스 접근을 위한 객체로, 데이터 관리의 핵심 구조임.
- 데이터 처리 기법으로 자바빈즈(JavaBeans)를 활용할 수 있으며, 이는 재사용성을 높여줌.
- 세션(Session)은 접속한 회원에게 고유한 ID를 할당하며,
session.setAttribute
로 관리 가능.
- 게시판 메인에서 게시글 목록을 출력할 때는
include
지시자를 통해 구현.
- 웹 호스팅 서버와 JDK 버전은 반드시 호환성을 맞춰야 오류를 방지할 수 있음.
- SQL 실행은
String SQL
문장을 이용하며, 삭제 기능도 UPDATE
문을 활용하면 추후 로그 추적에 용이함.
2. JSP 웹 사이트 개발하기
- 개발 전 프레임워크와 라이브러리를 통해 기본적인 틀을 구성해야 효율적임.
- MySQL 예약어
LIKE
충돌을 피하기 위해 추천 테이블명을 LIKEY
로 지정.
getUserEmail()
은 사용자 ID로 이메일을 조회해 문자열로 반환하는 함수.
- JSP와 MySQL 연결에는 JDBC 드라이버를 프로젝트에 추가해야 함.
- UI 구성 시 Bootstrap의
modal
을 활용해 상호작용 창을 구현 가능.
- 보안 위협으로는 XSS 공격이 있으며, 이를 막기 위해
replaceAll
로 위험 문자열을 치환하는 방법이 사용됨.
- Bootstrap은 내부적으로 Popper.js와 jQuery를 기반으로 동작하므로, 해당 라이브러리 사용 이해가 필요.
3. JSP 파일 업로드
- JSP에서 파일 업로드 기능을 구현하려면 COS 라이브러리가 필요.
- SQL의
?
기호는 PreparedStatement의 파라미터 바인딩을 의미함.
com.oreilly.servlet.multipart.DefaultFileRenamePolicy
클래스는 업로드 시 파일 이름 중복을 자동으로 해결.
com.oreilly.servlet.multipart.MultipartRequest
클래스는 실제 파일 업로드 기능을 수행.
Application
내장 객체는 전체 프로젝트 자원을 관리하며, 서버 실제 경로에서 자원 탐색 시 유용.
- 파일 전송에는 이진 데이터 형식의 octet-stream MIME 타입이 주로 사용됨.
💡 Quick Insight
- JSP 게시판 개발 핵심: DAO + 세션 + include 지시자
- 웹 개발 시 필수 고려 요소: 프레임워크/라이브러리/보안
- 파일 업로드: COS 라이브러리 + DefaultFileRenamePolicy + MultipartRequest
- 보안 관점: XSS 예방 및 버전 호환성 확인
- JSP 학습은 단순한 코드 작성이 아니라 환경 세팅 + 보안 습관까지 포함해야 함
마무리 생각
웹 사이트를 개발하는 과정에서는 단순히 JSP만이 아니라 웹 서버, DB, 보안, 라이브러리까지 폭넓은 고려가 필요하다.
게시판 하나를 만들더라도 JSP, MySQL, Tomcat 등 다양한 환경 설정과 버전 호환성을 체크해야 하며,
보안 측면에서는 반드시 시큐어 코딩이 전제되어야 한다.
이 책은 단계별로 구체적인 기능만 구현해도 전체 구조를 이해하기 쉽게 설계되어 있어 학습에 적합했다.