jsp

    [JSP & Servlet] 게시판 만들기 (feat. MySQL) - Action 클래스

    [JSP & Servlet] 게시판 만들기 (feat. MySQL) - Action 클래스

    📌Action 인터페이스 각 요청을 처리하는 Action 클래스들을 다형성을 이용해서 동일한 타입으로 참조하기 위해서 각 Action 클래스들이 구현할 Action 인터페이스를 설계 package action; import javax.servlet.http.*; import vo.ActionForward; public interface Action { ActionForward execute(HttpServletRequest request,HttpServletResponse response) throws Exception; } 앞서 포스팅한 controller 클래스, 즉 BoardFrontController에서 전송된 요청을 파악하여 각 요청을 처리하는 Actino 클래스 객체의 execute 메소드를 ..

    [JSP & Servlet] 게시판 만들기 (feat. MySQL) - Controller 클래스

    📌Controller 클래스 게시판 프로젝트의 모든 웹 요청은 controller 클래스에서 정의하는 서블릿으로 요청된다. "게시판 만들기"에서는 모든 요청을 처리해주는 서블릿을 생성할 것이다. 즉 전체 요청이 이 클래스에서 제어된다. BoardFrontController 서블릿 package controller; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.htt..

    [JSP] EL이란? (Expression Language란?)

    📌EL 이란? EL(Expression Language)은 JSP 스크립트 태그인 를 대신해서 ${ }로 표현식을 바꿔 JSP 값들을 좀 더 편리하게 출력하기 위해 제공되는 언어이다. 기존 EL ${hello} 기존 태그 같은 경우 태그 사이에 표현식이 표현되어 겹쳐지므로 이해하기 어려울 수가 있다. EL은 이런 단점을 보완하고 간결한 데이터 출력을 위해 제공되는 기능이다. EL에서는 변수값도 출력하지만 연산자와 내장 객체도 제공하고 있다. 연산자가 포함되어있기 때문에 연산 기능을 처리할 때도 편리하다. temp 변수를 표현할 때 ${temp} member 객체의 age를 확인할 때 ${member.age} ${member['age']} ${member["age"]} 📌EL의 내장 객체 객체 코드 ..

    JSTL 설치

    JSTL 설치

    📌JSTL 이란? JSTL은 자카르타에서 제공하는 자주 사용되는 필요한 기능들을 모아놓은 커스텀 태그 라이브러리이다. 커스텀 태그란 개발자가 직접 정의한 태그를 말하는 것으로 커스텀 태그를 만듦으로 개발 속도 혹은 개발 효율이 좋아질 수 있다. JSTL은 용도에 따라 기능이 달라지는데 크게 5가지로 나누어진다. core : 기본적인 기능들을 제공 function : 함수에 대한 기능을 제공 fmt : format의 약자로 형식화에 대한 기능을 제공 xml : XML 처리에 좀 더 편한 기능을 제공 sql : SQL처리에 편한 기능을 제공 📌JSTL 설치 JSTL은 JSP 자체에 포함되어 있는 것이 아닌 커스텀 태그 라이브러리이기 때문에 JSTL 라이브러리를 설치하여야 한다. 01. 톰캣 사이트(http:..

    MVC 패턴 (Model, View, Controller)

    MVC 패턴 (Model, View, Controller)

    📌MVC 패턴 개요 WebProgramming 카테고리에서 Servlet부분을 보면 알겠지만 처음 서블릿이 나왔을 때 클라이언트의 요청 처리를 서블릿 홀로 담당하는 올인원 방식이었다. 서블릿이 요청 데이터 처리도하고 비즈니스 로직 및 데이터 처리도 하고 결과 화면도 생성한 것이다. 이는 장점도 있지만 규모가 커지게 되거나 시스템 변경이 잦은 경우에는 오히려 유지 보수가 어려워 운영 비용이 증가하게 된다. 따라서 요즘같은 글로벌 환경에는 서블릿 홀로 담당하는 올인원 방식이 적합하지 않다. 시스템 변경이 잦은 상황에서 유지 보수를 보다 쉽게 하기 위해서는 중복 코드의 작성을 최소화하고 코드 변경이 쉬워야 한다. 이를 위해 기존 코드의 재사용성을 높이는 방향으로 설계를 해야했고 특히 객체지향의 특성을 활용하여..

    [JSP] 로그인, 회원 가입 및 회원 관리

    [JSP] 로그인, 회원 가입 및 회원 관리

    📌member 테이블 구현 📌구현해야 할 JSP 페이지 로그인 loginForm.jsp 로그인 하기 위한 페이지 loginProcess.jsp 로그인을 실제로 처리하는 페이지 회원가입 joinForm.jsp 회원 가입을 위한 페이지 joinProcess.jsp 회원 가입을 실제로 처리하는 페이지 메인 페이지 main.jsp 로그인 후 main 페이지 회원 관리(관리자) 페이지 memberList.jsp 회원 목록 페이지 memberInfo.jsp 회원 정보 페이지 memberDelete.jsp 회원 삭제 페이지 원래 실제로 일을 처리하는 페이지인 XXXProcess.jsp들은 jsp 파일로 생성하지 않고 Servlet 파일로 생성하지만 여기선 JSP 파일로만 구현해보도록 하겠다. 📌로그인 loginFor..

    ResultSet과 ResultSetMetaData (feat. 커서 이동 옵션)

    ResultSet과 ResultSetMetaData (feat. 커서 이동 옵션)

    ResultSet 예제 참고 https://yeo-computerclass.tistory.com/142?category=1269285 [JSP] JDBC 연동 (MySQL) - (2) 📌세팅 testDB에 test라는 table을 하나 생성해주었다. statementTest.jsp executeQuery(String sql) executeQuery() 메서드의 경우는 SELECT문을 실행할 때 사용된다. executeQuery() 메서드는 ResultSet 객체.. yeo-computerclass.tistory.com 📌ResultSet ResultSet이란 Statement 객체 또는 PreparedStatement 객체로 SELECT문을 사용하여 얻어온 레코드 값들을 테이블의 형태로 갖게 되는 객체이..

    Statement와 PreparedStatement의 차이점

    📌Statement Statement stmt = conn.createStatement(); stmt.executeUpdate("INSERT INTO test(id, name) VALUES (1,'여승철')"); stmt.executeUpdate("INSERT INTO test(id, name) VALUES (2,'여승철')"); stmt.executeUpdate("INSERT INTO test(id, name) VALUES (3,'여승철')"); Statement는 executeQuery()나 executeUpdate()를 실행하는 시점에 파라미터로 SQL문을 전달하는데, 이 때 전달되는 SQL문은 완성된 형태로 한눈에 무슨 SQL문인지 파악하기 쉽다. 하지만, SQL문을 수행하는 과정에서 매번 컴파일..