기타/Servlet
-
JSP - 게시판 만들기 연습2 (게시판 끼리 연결해보자)기타/Servlet 2020. 12. 21. 16:53
2020/12/15 - [JSP/Servlet] - JSP - 게시판 만들기 연습 저번에는 한 개의 데이터베이스 테이블에 관한 게시판을 생성했다. 이번에는 여러개의 테이블이 서로 연결되어 정보를 주고 받아 뿌려주는 게시판들을 만들어보자. 전과 반복되는 작업 내용은 건너뛰고 새롭게 추가된 작업만 정리할 예정이다. 일단 이렇게 3개의 테이블을 만들어준다. 각각 회원게시판, 일반게시판, 가계부게시판이 될 예정이다. 일반 게시판은 모든 회원이 글작성, 답글을 달 수 있고 가계부 계시판은 본인이 쓴 가계부만 보이는 공간이다. SMC.xml은 이렇게 작성된다. typeAlias와 mapper는 늘어난 member와 homebook 값을 추가해준다. 여기에서 일반게시판의 dao, xml은 크게 주의할 점이 없지만 가..
-
Command 패턴기타/Servlet 2020. 12. 16. 15:07
정의 클라이언트로부터 받은 요청들을 서블릿이 아닌 지정한 클래스가 처리하도록 하는 것 jsp 게시판에서 글 목록을 보여달라는 요청이 들어오면 서블릿은 요청을 받고 클래스로 일을 넘겨준다. } else if (command.equals("/list.do")) { bcommand = new BListCommand(); bcommand.execute(request, response); 위와 같이 서블릿에서 게시판 글목록 출력을 요청받으면 글목록 출력을 수행해주는 BListCommand라는 클래스로 일을 시켜준다. BListCommand는 BCommand라는 인터페이스를 상속받아 dao에 접근하여 로직을 수행한다.
-
request, response, doPost(), doGet() 설명기타/Servlet 2020. 12. 16. 14:58
HttpServlet 웹 서버에 Request와 Response 기능을 담고 있는 추상클래스 서블릿 클래스는 HTTP protocal 서비스를 지원하는 javax.servlet.http.HttpServlet 클래스를 상속받는다 GenericServlet은 ServletConfig(서블릿 환경), Servlet(기능구현), Serializable(서블릿 직력화)의 인터페이스를 구현하고 있다. doPost / doGet 메소드 클라이언트는 서버에 post 또는 get 으로 요청한다. 디폴트 값을 get이다 HttpServletRequest 자주 쓰는 메소드 클라이언트의 요청 (클라이언트 -> 서버)에 대한 객체 request.getCookies(); - 쿠키 가져오기 request.getSession(); ..
-
MyBatis에 대한 설명기타/Servlet 2020. 12. 15. 16:40
정의 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 보다 쉽게 도와주는 프레임 워크 자바는 관계형 데이터베이스 프로그래밍을 하기 위해 *JDBC를 제공 JDBC는 다양한 관계형 데이터베이스 크로그래밍을 위해 API를 제공 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 프레임 워크 SQL을 별도의 파일로 분리해 관리 가능하다 *JDBC 자바 프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그램 인터페이스 특징 1. SQL문이 코드로부터 완전히 분리 - 기존에는 DAO파일에 모든 SQL문을 작성하였다. - 하지만 MyBatis에서는 Mapper 파일에 SQL코드를 입력해 놓고 DAO 파일에서 필요할 때마다 가져와 사용할 수 있다. 2. 생산성, 코드의 간결함 - ..
-
JSP - 게시판 만들기 연습기타/Servlet 2020. 12. 15. 16:04
JSP코드, 서블릿(자바언어), MyBatis 프레임웍을 활용한 인터페이스를 구현한 소스 및 실행화면 캡쳐 1. 다운로드 받은 유틸들을 폴더에 넣어준다. 2. 로그문 출력을 도와줄 log4j.properties 파일을 만든다 # Root logger option # Log4j Setting file log4j.rootLogger=DEBUG, console, R # root 설정 # Daily file log log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=J:\\logs/member.log log4j.appender.R.DatePattern='.'yyyy-MM-dd log4j.appender.R.layout=..
-
JSP-JDBC/mybatis 연습예제기타/Servlet 2020. 12. 11. 11:26
미리 만들어 놓은 MYMEMBER 라는 테이블 정보를 출력해보자! 1. src 폴더 안에 패키지를 생성해 주고 jar파일을 라이브러리에 넣어놓는다 (패키지 이름은 다른 프로젝트와 겹치지 않는 편이 좋다) 데이터 베이스와 연결해주는 SMC.xml MBUtils.java package com.jdbcex2.common; import java.io.IOException; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.ses..
-
JSP - 자바빈(Bean)기타/Servlet 2020. 12. 10. 17:30
정의 JSP 페이지의 주요 기능 중 하나는 데이터를 보여주는 것이다. 그런데 출력하는 부분이 하나의 JSP로 뒤섞여 있으면 기능 확장의 어려움과 코드 재사용의 어려움을 겪는다. 그래서 JSP에서는 데이터를 자바빈이라는 클래스에 담아 보여준다. Bean을 통해 JSP와 클래스 간의 데이터를 쉽게 연동하고 뷰 데이터 교환에 사용된다. 자바빈은 클래스임으로 기존 자바 클래스를 작성하는 방법과 동일하다. 자바빈 작성규칙 1.멤버 변수마다 별도의 get / set 메소드가 존재해야한다. 2. get메소드는 파라미터가 존재하지 않아야 한다. 3. set메소드는 반드시 하나 이상의 파라미터가 존재해야 한다. 4. 빈즈 컴포넌트의 속성은 반드시 읽기 또는 쓰기가 가능해야 한다. 5. 생성자는 파라미터가 존재하지 않아야..
-
JSP - 예외처리 (Exception)기타/Servlet 2020. 12. 10. 17:20
예외 페이지의 필요성 예외적인 상황이 발생했을 경우 해당 페이지를 심미안 적으로 꾸며 사용자에게 친근감이 느껴지는 페이지로 유도할 수 있다. 1. page 지시자를 이용한 예외처리 예외가 발생할 경우 해당 페이지 주소로 이동한다. 에러 발생 경고 이동한 페이지에선 위와 같이 설정해준다. isErrorPage="true"를 해줘야지 exception.getMessage() 메소드를 사용할 수 있다. 2. web.xml 파일을 이용한 예외처리 404 /error404.jsp 500 /error500.jsp xml 페이지에 해당하는 에러코드에 따른 이동페이지를 넣어준다. 이동되는 페이지 상단에 위 소스코드를 넣어주면 해당 에러 발생시 이곳으로 이동한다.