프로그래밍/Web

    JSP에서 쿠키와 세션

    쿠키는 웹 사이트가 있는 서버에 의해 사용자의 컴퓨터에 저장되는 정보를 뜻한다짧은 시간 사용되는 것이 일반적인 정보데이터인데의도적으로 유효시간을 늘릴 수도 있다. 세션은 서버가 브라우저의 상태를 저장하는 웹데이터 컨테이너 같은 느낌이다.사용자가 브라우저에서 로그인한다면 일반적으로 로그인한 정보를 세션에 저장한다.그 세션의 주소값을 브라우저에게 보내주고브라우저는 그 세션의 주소값을 읽고 주기적으로 접속하여세션에 저장된 데이터를 사용한다.로그인이 계속 유지될 수 있는 이유도 그것이다. 세션의 유효시간은 서버 소프트웨어마다 차이는 있지만일반적으로 30분이다.(일반적으로 설치 시 설정이 가능하다)마지막 세션 접근 시기부터 30분이 지나면 서버는세션에 접근한 데이터가 더이상 없다고 판단하고세션을 지워버린다. 사용..

    MVC Model2 패턴 / 간이 게시판 제작 기록 (4/4)

    마지막으로 검색 방법에 대해 다루도록 하겠다 사실 여지껏 한 페이지 만들기에는 회원 테이블, 정보조회도 들어가있지만 게시글 조회와 거의 99% 똑같다 걍 빼도록 한다. 먼저 게시글 검색의 형태이다 코드는 이런 형태가 된다. 작성자 글제목 글제목 + 내용 보통 검색페이지는 작성자, 글 제목, 글제목과 내용으로 분류된다 때문에 이러한 방식으로 구성하였고 board-search 서블릿의 doGet이 받아서처리할 수 있게끔 form을 구성해준다 private BoardService boardService; public BoardSearchServlet() { super(); boardService = BoardServiceImple.getInstance(); } protected void doGet(HttpSe..

    MVC Model2 패턴 / 간이 게시판 제작 기록 (3/4)

    이 페이지에서는 수정과 삭제를 다루도록 하겠다. 게시글 추가가 가능했다면 수정 기능도 거의 비슷하다 먼저 수정 jsp에 접근할 공간을 찾아보자게시글을 수정한다면, 게시글을 표현해주는 구체적인 페이지가 좋겠고그 페이지는 상세 페이지가 좋을 것이다. 상세 페이지의 코드는 생략하도록 한다. SQL 코드의 차이를 제외하면 조회 코드와 거의 유사하다. 수정 페이지는 대략 이런페이지로 구성되어있다.. 수정 버튼을 클릭하게 되면 이러한 구체적인 페이지로 넘어가게끔 한다. 제목과 내용 항목은 모두 readonly 형태로 구성한다 작성시간은 자동으로 수정될 것이며제목과 내용 이외의 항목이 수정되는 것은 너무나 부자연스럽다. 이젠 jsp를 살펴보자상세페이지에서 버튼을 만들어준다.게시글 수정 게시글을 수정했을 시 컨트롤러를..

    MVC Model2 패턴 / 간이 게시판 제작 기록 (2/4)

    본격적으로 게시판을 만들 것이다. 먼저 논리의 흐름대로 만들 것이다. 먼저 데이터베이스에 들어있는 자료를 뽑아오는 조회 클래스를 만들도록 하자. private BoardService boardService; public BoardMainServlet() { super(); boardService = BoardServiceImple.getInstance(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("BoardMainServlet::doGet() 호출"); // 게시글 전체 검색 List list = ..

    MVC Model2 패턴 / 간이 게시판 제작 기록 (1/4)

    이 페이지에서는 mvc 모델2 패턴을 이용하여데이터베이스와 연동하여 간이 게시판을 만들것이다. 필요한 개발 환경은 오라클 데이터베이스개발 툴(이클립스 또는 intellij 등)아파치 톰캣과 같은 서버 구현 환경이다 게시판이라고 부르기도 민망한 수준이지만어느 게시판이나 뼈대는 이와 유사할 것이라고 생각한다. 이러한 방식으로 만들 것이다.(모델은 화살표로 표시하면 너무 번잡해질 것 같아서 뺏다) 웹 프로젝트는 이렇게 된다. 1 은 먼저 컨트롤러이다. doGet과 doPost를 이용해유저에게 적당한 jsp로 연결시켜주는 역할을 한다. 2는 모델 클래스이다.게시판에 필요한 게시글 번호, 이름, 내용, 유저아이디, 게시날짜를 모델화한 클래스이다. 3은 서비스 인터페이스와, 그를 구현한 클래스이다.이 페이지에서는 ..

    MVC Model1 패턴을 적용한 JDBC 접근 방법 정리

    이 페이지에서는 JSP 에서 오라클을 활용한 MVC Model1 패턴의 활용 방법에 대해서 정리하고자 한다 오라클을 활용하기 위해선 당연하게도Oracle Developer가 필요하다. 미리 설치해두도록 하자. 그 후 잔세팅(검색을 활용하자)을 끝낸다 가장 먼저 할일은 오라클 데이터베이스의 라이브러리를 가져오는 일이다.오라클 데이터베이스의 라이브러리는 오라클 데이터베이스 설치 폴더에서 찾을 수 있다, 기본 설치경로는 위와 같을 것이다.각자 맞는 버전의 jar 파일을 가져오면 된다.나는 ojdbc6_g.jar를 가져왔다, 이클립스의 경우 이 경로에 복사 붙여넣기만 해도큰 문제없이 라이브러리를 가져와 참조할 수 있다. 근데 intellij idea 의 경우이게 안된다. 이렇듯 라이브러리를 참조하지 못해서 모든..

    JSTL 정리 (2/2)

    여기서부터는 다국어 내용을 처리하는 부분이다. core 선언 이외에 별도의 선언이 필요하다. fmt을 선언한뒤 URL을 가져온다. 1. 코딩 JSTL 태그 submit 결과 표시 이름: ${param.userName} 1. 결과 간단한 출력코드이나fmt:requestEncoding 을 이용하여 인코딩을 해주었다. 2. 코딩 JSTL 태그 2. 결과 통화나 숫자, 백분률을 표현할 때 필요한 코드이다. 3. 코딩 JSTL 태그 ${now} 3. 결과 시간을 표시하는 메소드이다.pattern을 통해 형식도 설정 해주는 것이 가능하다.형식은 자바의 date 함수와 같은 것으로 보인다. 4. 코딩 JSTL

    JSTL 정리 (1/2)

    JSTL을 사용하기 위해서는 먼저 jar 파일 다운로드가 필요하다. https://tomcat.apache.org/download-taglibs.cgi 링크의 하단에 impl 과 spec의 jar 파일 두개만 다운받으면 된다. 그 후 WEB-INF 파일 아래 Lib 디렉토리를 생성후복사 붙여넣기를 한다 이클립스의 경우 이러한 과정만으로도 JSTL 코드를 사용할 수 있지만intellij idea의 경우 따로 모듈에서 라이브러리를 추가해줘야 한다. 파일의 project structure를 클릭 후 모듈(modules) 페이지에서 라이브러리 추가 버튼을 누른 뒤Lib 경로의 jar 파일을 추가해준다 이 과정이 끝나면 JSTL를 사용할 준비는 끝났다. jsp 페이지에서 위의 방식처럼 입력을 완료해주면 모든 준비..

    JSP에서 내장객체

    JSP 내장 객체: JSP가 컴파일되서 변환된 서블릿 클래스의 _jspService() 메소드가 갖고 있는 변수들request: 클라이언트가 보낸 요청(request)에 대한 정보를 갖고 있는 객체response: 서버가 클라이언트로 보내는 응답(response) 정보를 갖고 있는 객체pageContext: 브라우저에서 보이는 현재 페이지session: 상태 유지 관리를 위한(session) 정보application: 서블릿의 context 정보config: 서블릿의 설정 정보out: 클라이언트로 보내는 문자열을 쓰기 위한 출력 스트림page: page 내부 객체는 JSP 페이지 그 자체를 나타내는 객체exception: exception 내장 객체는 JSP 페이지에서 예외가 발생하였을 경우 예외를 처리..