24.10.08(jsp programming)

JSP(JavaServer Pages)
- 동적 웹 컨텐츠를 만들기 위한 기술
- HTML 페이지 안에 Java 코드를 포함하여 동적인 컨텐츠 생성 가능
- 폼 데이터 처리 및 데이터베이스와 상호작용하는 등의 기능 구현
프로그래밍 순서
- HTML 폼 만들기
- JSP 페이지에서 폼 데이터 처리하기
- 폼 데이터 가져오기(request.getParameter()
- 데이터베이스 연결 설정(DriverManager.getConnection()
- JDBC URL, 데이터베이스 사용자명, 비밀번호 등 사용하여 연결 설정
- 유저 정보 데이터베이스에 삽입하는 SQL 쿼리 작성 (쿼리 파라미터 설정, 쿼리 실행(데이터 삽입), 결과 출력, 리소스 해제)
- 사용자가 입력한 데이터를 PreparedStatement를 통해 안전하게 SQL에 삽입.
- ?는 쿼리 파라미터로, 나중에 값이 채워짐.
- executeUpdate() 메서드 사용해 삽입 쿼리 실행.
- 예외 처리
- 데이터베이스 연결 또는 쿼리 실행 중 발생할 수 있는 오류를 catch 블록에서 처리하며, 오류 메시지 사용자에게 출력
- 데이터베이스 테이블 생성
- JSP 페이지가 실행되기 전, 유저 정보를 저장할 데이터베이스 테이블을 만들어야 함
베스트 프랙티스
- 코드 분리
- JSP는 뷰(View)를 담당하는 것이 좋음
- 데이터 처리와 비즈니스 로직은 서블릿(Servlet)이나 별도의 Java 클래스에서 처리하는 것이 좋음.
- 코드의 가독성과 유지보수성 향상
- SQL 인젝션 방지
- PreparedStatement를 사용하여 SQL 인젝션 방지
- ?를 사용해 파라미터를 전달하면 외부 입력으로 인한 보안 취약점을 막을 수 있음.
- 유효성 검사
- 사용자 입력 데이터는 클라이언트(브라우저) 측과 서버 측 모두에서 유효성 검사 필요
- 이를 통해 잘못된 데이터나 악의적인 입력이 서버에 전달되는 것을 방지할 수 있음.