분류 전체보기

    intelliJ에서 SpringMVC 생성하기

    intelliJ에서 SpringMVC 생성하기

    이 글은 https://nesoy.github.io/articles/2017-02/SpringMVC Nesoy 님의 흐름을 바탕으로 제가 새롭게 캡쳐해서 올린 글입니다. 이클립스는 검색하면 많이 나오기에 intellij만 정리합니다. 먼저 new project에서메이븐 프로젝트를 생성합니다 프로젝트 이름은 artifactId입니다.적당히 입력해줍니다. 컨텐트 루트를 바꾸고 싶으신 분은 바꿔줍시다. 생성됬으면 프로젝트 이름 우클을 하여 add Framework support를 선택해 줍니다. 스프링 MVC 패턴을 선택하여 진행합시다. 그러면 디렉토리 형식에 조금 변화가 있을 것입니다. 그 후 web 디렉토리 우클을 하여'views' 폴더를 하나 만들어 줍시다. 그리고 web 아래있는 index.jsp를 v..

    JSP Filter

    JSP에서 필터라는 개념을 생각해보자 필터는 당연 무엇인가를 거르는 속성이 있어야 한다. 간단한 예제코드를 보자 public class TestFilter implements Filter { public TestFilter() { } public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println(">>> TestFilter::doFilter() 실행 전"); // pass the request along the filter chain chain.doFilter..

    Ajax - Asynchronous JavaScript And XML (2/2)

    Ajax - Asynchronous JavaScript And XML (2/2)

    가장 많이 사용하는 jQuery의 $.ajax 방식에 대해 알아보도록 하자 일단 코드를 짜봤다. jQuery Ajax $.ajax() 함수 ajax get ajax post 결과 출력 get방식이던, post 방식이던 디렉토리에 포함된 txt 파일 or jsp를 서버로 보내 그 결과값을 받는 형식의 코드다 이미지는 어떤 것이든 상관없고 txt파일의 내용은 이러하다 jQuery Ajax load() 함수 테스트 여기는 단락(p1)입니다... post에서 보내는 jsp 파일의 형식은 이렇게 된다. ID: ${param.id} PW: ${param.pw} 이 코드를 실행하면 이런 페이지가 뜬다. get방식을 하면 간단하다. 텍스트 정보와, 텍스트 정보에 포함된 이미지를 불러오는 코드로 인해디렉토리에 저장된 이..

    Ajax - Asynchronous JavaScript And XML (1/2)

    Ajax - Asynchronous JavaScript And XML (1/2)

    Ajax는 비동기 웹통신 방식이다. 안드로이드를 배웠다면, 안드로이드의 어싱크탱크와 유사하다고 보면 된다. 사용자가 웹에서 작업을 할 때 보통 반응이 오면 웹페이지의 형식이 바뀐다. Ajax는 이를 웹페이지 변화 없이 가능하게 한다. 예를 들어보자 이는 네이버의 회원가입 페이지이다. 아이디를 불가능하게끔 입력해보자 그러면 이런 메시지가 뜬다. 이러한 메시지는 즉시 발생하는 것이며, 웹페이지의 변화없이 발생한다. Ajax가 적용된 웹페이지 인 것이다. 회원가입하는 사용자 입장에서 틀릴 때마다 틀린 정보를 알려주면서웹을 갱신해버리면 이전에 알맞게 쓴 항목까지도 새로 써야하니 짜증이 이만저만이 아닐 것이다. Ajax는 이러한 고민을 해결해주는 훌륭한 도구이다. Ajax의 적용원리는 아래와 같다. /* Ajax..

    eclipse Web project를 intellij로 가져오기

    eclipse Web project를 intellij로 가져오기

    단순 실수로 인해 오전 내내 삽질한 것을 이리 뒤집고 저리 뒤집고 하다가 해결해서 기록한다 중간에 프로젝트가 꺼져서 다른 프로젝트로 교체도 햇으나흐름은 같다. 먼저 그냥이클립스 프로젝트를 열도록 하자(import를 해도 상관은 없다) 그러면 크고 아름다운 빨간줄이리 죽죽 그어져 있을 것이다.걱정하지 말자 곧 해결될 것이다 먼저새로 프로젝트를 열었으면 없겠지만 혹시나 class 디렉토리가 있다면 지워주도록 하자. 다시 만들어서 쓸 것이다. 우선 파일의 프로젝트 스트럭쳐에 들어간다. 모듈의 디펜던시에 들어가면빨간줄이 죽죽 그어진 참조파일들이 있을 것이다.(개발 환경에 따라 다를 수 있다. 없다면 무시해도 상관없다) 이것을 모두 없애버리고자신에게 필요한 참조파일들을 추가해주도록 하자. 난 오라클과 jstl, ..

    JSP에서 쿠키와 세션

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

    intellij에서 JSTL 에러

    JSTL을 배우고 이클립스에서 할 때는 JSTL의 작성에 필요한이 두 라이브러리 파일을 lib에 추가하고 이 코드를 사용 jsp의 헤더 사이에 끼워만 주면 바로 사용이 가능했다.(사실 안끼워주어도 되긴 할 것이다.) intellij에서도 HTML 파일 내에서만 JSTL을 사용할 경우 project structure의 modules에 라이브러리 파일을 추가해주는 것만으로별 문제 없이 사용이 가능했다 하지만 아파치 톰캣 등 서버 환경을 이용할 때 문제가 생겼다 서버를 사용하는 개발 환경에서는 프로젝트의 라이브러리에 추가해주는 것만으로는 라이브러리 참조를 빌려오지 못하는 듯 HTTP Status 500 - The absolute uri: http://java.sun.com/jsp/jstl/core cannot..

    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 = ..