웹프로젝트를 만들 때 보통 url-pattern을 "*.do"로 많이한다. "점 뒤에 특정 문자가 오면 서블릿을 타라"라는 뜻이기 때문에 반드시 *.do로 해야 하는 건 아니지만(*.aa *.bb 아무거나 상관없음), 네이버가 먼저 *.do를 사용하면서 *.do가 보편화 됐다고 한다. 그래서 보통 아무 생각없이 이 방법을 많이 사용한다. 하지만 url패턴을 좀더 간결하게 하고 싶고 추후 RestFul API를 제공하는 것도 염두에 두고 있다면 url패턴을 간결하게 가져갈 필요가 있다. 예를 들어 *.do로 하면 "http://www.cha.go.kr/cha/idx/Index.do"이렇게 요청해야 하지만, url패턴을 간결하게 하면 .do를 빼고 "http://www.cha.go.kr/cha/idx/Ind..
전자정부프레임워크의 Pagination 사용하지 않고, 쌩노가다 페이징 처리하기. 어쩌면 이게 더 편하기도... 바로 이렇게 게시글 목록 아래에 나오도록. CSS는 알아서 입히시길. * 주의점 - StringUtils 사용할 때 commons-lang.jar를 살짝 의존함. - 쿼리는 오라클,mybatis를 기준으로 작성하였음. (mysql은 limit가 있어서 페이징 처리하기가 무척 편하다) - list.jsp에서 paging.jsp를 include하는 부분, page 속성에는 paging.jsp의 경로를 제대로 써줘야 함. - 게시글 목록을 조회할 때에 쿼리에서 Paging관련 파라미터 뿐만 아니라, 게시글 관련 파라미터도 넘겨야할 경우.. PagingDTO를 상속받는 BoardDTO를 만들어서 하든..
Test 취소 확인 위와 같이 간단하게 주소만 넘기는 코드를 짰다고 가정했을 때, 취소 버튼을 누르든 확인 버튼을 누르든 무조건 submit 되는 현상이 발생한다. 전에도 이같은 일이 발생해서 button을 input type="button"으로 바꿔서 해결했던 적이 있었는데, 이번엔 button에 입힌 CSS 디자인을 포기할 수 없어서 어떻게든 방법을 찾아야 하는 상황이었다. (input에도 CSS가 적용되긴 하지만 뭔가 모양이 달랐다. 디자이너에게 따로 부탁하기가 좀 미안하기도 하고, 또 다른 방법을 알고 싶은 마음에 시간도 있으니 혼자 알아서 해결하기로 마음 먹음.) 이유는 button 태그를 form 태그 안에 넣었기 때문이었는데, 그렇다고 왜 무조건 submit이 되는지는 잘 모르겠다. 일종의 ..
이 두 라이브러리를 활용했다. javax-json-api-1.0.jar 파일의 경우 java 1.7 버전 이상에는 기본적으로 포함되어 있으므로 따로 다운로드 받지 않아도 된다. jettison 다운로드 경로 → http://jettison.codehaus.org/Download ↓ 데이터를 JSON 형태로 빌드하기. import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.json.Json; import javax.json.JsonArrayBuilder; import javax.json.JsonBuilderFactory; import javax.json.JsonObjectBuilder; import ja..
찾아보면 servlet-api 버전에 맞지 않아서 그런다느니 어쩌느니... 나오는데 내 경우는 그냥 오타 때문이었다. ㅡ.ㅡ; web.xml에서 servlet-mapping의 url-pattern에 "/"가 빠졌기 때문. 에러가 장대하게 뜨길래 '헐 이건 뭐지?'했는데 그냥 단순한 에러였다.. (무조건 첫번째 에러부터 보는 습관 때문에 아래에 있는 "Invalid sample.ok in servlet mapping" 문구를 미처 캐치하지 못함.)
jsp 파일에 있는 표나 글씨 등을 엑셀 혹은 워드 파일로 다운로드/실행하는 방법이다. 먼저 jsp의 맨 윗 부분에 위의 코드를 적어준다. 워드나 한글로 다운로드/실행하고 싶다면 엑셀에 맞춰져 있던 코드들을 주석으로 묶고, 기존에 주석으로 묶여있는 코드들을 풀어주면 된다. 회원 목록 ID 이름 전화번호 patriot2 유관순 0431234567 pitcher 류현진 01034567890 historian 신채호 001886123456 body 영역에는 엑셀로 다운로드/열기 할 내용을 적어준다. 센스가 있는 사람이라면 DB와 연동해서 사용할 수 있을 것이다. jsp 파일을 실행해서 다운로드 혹은 실행했을 때의 모습이다. 유관순, 류현진의 경우에는 전화번호를 입력한 td 태그에 style로 mso-numbe..
파일 다운로드하는 코드다. 일단은 jsp 쪽에서 다운로드 링크를 클릭했을 때, 파라미터로 파일명을 넘겨줘야 한다. 그리고 파일 다운로드를 처리하는 쪽에서는 아래와 같이 해준다. // 파일이 저장될 경로. String realPath = "D:/folder/workspace/projectName/WebContent/upfile/"; // 파일 이름이 파라미터로 넘어오지 않으면 리다이렉트 시킨다. if(request.getParameter("fileName") == null || "".equals(request.getParameter("fileName"))){ response.sendRedirect("/redirect.jsp"); }else{ // 파라미터로 받은 파일 이름. String requestFil..