JSP와 Servlet만 이용해서 만드는 게시판1. 스크립트 파일도 나눈다. 2. 페이징 한다. 3. 다중 첨부파일 가능 → 첨부파일의 개수가 리스트에 나와야 한다. 4. 검색기능 → 제목/작성자/내용/첨부파일 이름 5. 조회수 list에 추가 # 모델 2로 구현하는 자바 웹 프로그래밍 JSP2.2&Servlet3.0 책 참고 게시판 데이터베이스 구조 설계 저번 포스팅에서는 게시판 페이지와 Action 클래스를 설계하였다.이번시간에는 게시판 데이터베이스 구조를 설계하겠다. 게시판 설계 포스팅을 참조하면 DB에 대한 대략적인 설계를 했었다. 3. DBtb_board 번호 idx : int / PK / auto_increment 제목 title : varchar 작성자 name : varchar 내용 con..
JSP와 Servlet만 이용해서 만드는 게시판1. 스크립트 파일도 나눈다. 2. 페이징 한다. 3. 다중 첨부파일 가능 → 첨부파일의 개수가 리스트에 나와야 한다. 4. 검색기능 → 제목/작성자/내용/첨부파일 이름 5. 조회수 list에 추가 # 모델 2로 구현하는 자바 웹 프로그래밍 JSP2.2&Servlet3.0 책 참고 게시판 페이지 및 Action 클래스 설계 오늘은 게시판 페이지(view) 와 Action 클래스(=controller)를 설계할것이다.저번시간에 게시판을 앞으로 어떻게 만들어 나갈지 작성해보았다.1. View리스트 : list.jsp 글 작성 : create.jsp 글 상세 : detail.jsp 글 수정 : update.jsp 글 삭제 : 글 삭제는 페이지가 따로 없고 상세 화..
JSP와 Servlet만 이용해서 만드는 게시판1. 스크립트 파일도 나눈다. 2. 페이징 한다. 3. 다중 첨부파일 가능 → 첨부파일의 개수가 리스트에 나와야 한다. 4. 검색기능 → 제목/작성자/내용/첨부파일 이름 5. 조회수 list에 추가 JSP로 만든 게시판과 사용하는 tool은 같다. 이클립스/ mariaDB등 # 모델 2로 구현하는 자바 웹 프로그래밍 JSP2.2&Servlet3.0 책 참고 MVC 패턴으로 JSP와 Servlet을 사용하여 만드는 게시판 Model 2 게시판 = MVC 패턴 MVC 패턴 ? M = Model → JavaBean : 데이터를 다루는 부분 V = View → JSP C = Controller → Servlet 게시판 사용자는 FrontController를 통해 화..
JSP만 사용해서 만드는 게시판MariaDB 사용기본적인 CRUD Create/Read/Update/Delete 게시판 삭제 드디어 JSP 게시판 마지막 삭제가 남았다. 글 삭제는 수정과 마찬가지로 상세 페이지에서 삭제 버튼을 누르면 글이 삭제되고 목록으로 넘어가게 된다. 수정과는 다르게 삭제하는 페이지가 따로 없기 때문에 상세 페이지에서 삭제시 정말 삭제하겠냐는 alert을 띄워줄것이다. 정말 삭제하겠다고 하면 바로 DB삭제하는 보이지 않는 페이지로 넘어가 쿼리를 날려 DB 데이터를 삭제하게 된다. 1.저번에 만들었던 상세 페이지에서부터 시작하자.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484..
JSP만 사용해서 만드는 게시판MariaDB 사용기본적인 CRUD Create/Read/Update/Delete 게시판 수정 게시판 목록을 만들었다. → 게시판 목록 게시판 글 쓰기도 만들었다. → 게시판 글 생성 게시판 상세보기도 만들었다. → 게시판 상세보기이제 게시판 수정을 해보자!저번 게시판 상세보기를 만들면서, 상세페이지 안에 수정 페이지로 가는 버튼을 만들었다. 수정은 상세페이지에서 수정 버튼을 누르면 수정 페이지로 이동하게 되고, 글을 수정한 뒤 수정된 사항을 DB에 넣는 작업을 해주고, DB에 성공적으로 들어가면 다시 수정된 글이 보이는 상세페이지로 이동하게 된다. 1. 1수정cs상세 페이지에서 수정 버튼을 클릭하면 update.jsp로 이동하게 되는데, 그때 상세페이지의 idx를 가지고 ..
JSP만 사용해서 만드는 게시판MariaDB 사용기본적인 CRUD Create/Read/Update/Delete 게시판 상세보기게시판 목록을 만들었고, 글 생성 페이지도 만들었다. 이제 작성한 글을 볼 수 있도록 상세 페이지를 만들어 보댜!상세 페이지는 글 생성 페이지와 비슷하다. input 박스로 입력받았던 곳에 입력했던 내용이 나온다는 차이 빼면 결국 동일하다. 리스트에서 상세 보고싶은 리스트를 클릭하면 상세 페이지로 넘어올텐데, 상세 페이지에는 작성했던 글의 정보가 있어야 하며 수정/ 삭제가 가능해야 하고, 목록 페이지로 다시 돌아갈 수 있어야 한다.1.먼저 html 코드를 보자.12345678910111213141516171819202122232425262728게시판 상세 제목 : 작성자 : 작성..
JSP만 사용해서 만드는 게시판MariaDB 사용 기본적인 CRUD Create/Read/Update/Delete 게시판 글 생성글 목록 페이지에 글 쓰기 버튼이 있다. 글 쓰기 버튼을 클릭하면 글 생성 페이지로 이동한다. 게시 글을 쓴 후에 추가 버튼을 누르면 DB에 작성한 글을 insert하는 페이지로 이동하고, DB 추가 작업이 완료되면 글 목록 페이지로 다시 이동한다. 1. list.jsp 에 버튼을 추가123456789101112131415161718192021게시판 게시판 글쓰기 Colored by Color Scriptercs 1. 버튼을 추가하고, 클릭 시 create.jsp로 이동하도록 onclick 속성을 준다. 2. location.href 는 새로운 페이지로 이동시키는 속성이다. 주..
JSP만 사용해서 만드는 게시판MariaDB 사용기본적인 CRUD Create/Read/Update/Delete 게시판 목록 생성게시판을 만들어보댜! 먼저 글 목록의 틀을 잡아야 한다고 생각하였다. 글 생성을 목록에서부터 시작하게되고, 생성 후 다시 목록으로 돌아와야 하며, 상세를 보려거든 목록에서 클릭되어야 하고, 수정/삭제 후 다시 목록으로 와야하기 때문이다. 게시판 목록을 생각해보자. 등록한 글들이 차례로 쌓여야 하고 글번호/작성자/글제목/등록시간 이 있어야 한다. 글 내용은 상세 페이지로 들어갔을 때 보여줘도 되니까.그렇다면 DB에 있는 데이터들이 select 되어 목록 화면에 table형태로 뿌려지면 될것이다. 1.먼저 html 소스를 보면 글작성 할 수 있는 버튼을 만들었다. 클릭 시 글쓰기 ..
JSP만 사용해서 만드는 게시판MariaDB 사용 기본적인 CRUD Create/Read/Update/Delete 일단 기본적인 CRUD가 가능한 게시판을 만들기 위해 게시판이 어떻게 이루어져야 할지 생각해보았다. 첫째로, 글 목록 페이지가 있어야 하고 글 생성 버튼을 클릭 시 글 생성 페이지가 보여져야 한다. 글의 리스틀를 클릭했을 땐 글 상세 페이지가 나와야 하고 수정과 삭제 버튼이 있어 글 수정 페이지로 이동하거나 글이 삭제되어야 한다.그리고 웹페이지에 보여줄 DATA를 가져올 DB가 필요하다. 글 생성, 수정, 삭제시 DB에 있는 데이터를 추가 수정 삭제하는 것 이기 때문이다.DB에 TABLE을 생성해야 한다. TABLE : board idx (PK) 글 번호 name 작성자 title 글 제목 ..
파일을 업로드 하여 ajax가 success 되면 추가된 결과를 List로 보여준다. 그런데 페이지를 reload 하지 않고 계속 추가하면 리스트가 계속 쌓이게 된다.추가할때마다 리스트를 초기화 시켜야 한다.그럴 때 $("#비워야할 리스트 상위 요소").empty() 를 해준다.나는 리스트의 안에 과 로 리스트를 뿌려주었다. 그래서 과 가 새로 뿌려져야 하므로 tbody를 empty 해주면 된다.tbody에 id값을 부여하고, 그 id값을 $("#") 안에 넣어주면 된다. empty 하는 시점은 리스트를 받아오기 전으로 설정하였다. http://findfun.tistory.com/243
자바스크립트파일 업로드 후 화면 refresh 가 아닌 input[type=file] 안의 text만 초기화 할때 방법input[type=file] 의 value 값을 "" 로 만들어 주면 되는데, IE는 좀 다르게 해야한다. 그래서 브라우저가 ie일때와 아닐때로 구분해서 초기화 해주어야 한다.userAgent 로 브라우저를 확인할 수 있다. userAgent값에는 브라우저를 구분하는 고유의 값이 있다고 한다. http://ooz.co.kr/67 참고 input[type=text] 의 값을 초기화 해주는 방법은 ie든 다른 브라우저든 동일하게 value의 값을 " " 로 만들어 주면 되는것 같다.12345678910var agent = navigator.userAgent.toLowerCase();if (..
03. JSP의 기초 JSP 페이지 JSP 기술에서 웹 애플리케이션을 구현할 때 작성하는 코드이다. HTML 문서의 사이에 JSP문법 코드가 삽입되는 형태이다.JSP 페이지의 작동 메커니즘 웹 컨테이너는 JSP 페이지 전체를 서블릿 클래스의 소스코드로 변환하고, 그 소스코드를 컴파일하여 서블릿 클래스의 클래스 파일로 만든다. 그 클래스 파일을 인스턴스화 하여 서블릿 객체를 생성하고, 그 객체를 초기화 해서 서블릿을 만든다. 웹 브라우저로부터 URL이 왔을 때 실행되는 것은 초기화까지 끝난 서블릿이다. (= 결국 서블릿으로 작동하는것) JSP의 기초문법 - 스크립팅 요소, 지시자, 주석JSP 문법 1. : 지시자, 스크립틀릿, 익스프레션 2. ${ } : 익스프레션 언어(자바를 대신할 언어) 3. : xm..
02. 서블릿의 기초 서블릿 서블릿 기술에서 웹 애플리케이션 구현을 위해서 작성해야 하는 코드는 '서블릿 클래스'이다. 이 서블릿 클래스를 가지고 웹 서비스를 할 수 있는 상태(=서블릿)로 만들어야 한다. 서블릿 클래스를 가지고 객체를 만든 후(인스턴스화) 그 객체를 초기화 한 서블릿 객체만이 웹서비스를 할 수 있다. 인스턴스화 : 클래스를 가지고 객체를 만드는 행위웹서버가 서블릿을 운영하는 방법 1. 여러 서블릿의 동시 실행 - 웹서버는 멀티스레드 방식으로 작동한다 → 동시에 같은 데이터 사용 가능 멀티 스레드 : 프로그램의 실행 흐름이 여러갈래(thread)로 나눠져서 동시에 실행되는 것 2. 웹 컨테이너가 만드는 서블릿의 갯수 - 한개(멀티-스레드 모델) 또는 여러개(싱글-스레드 모델) - 멀티-스..
자기결합(셀프조인) 같은 테이블 끼리 결합하는 것이다. 한 테이블에서 두개의 컬럼을 조인해서 사용해야 할 때 사용한다.a.group_name에는 부모부서가, b.group_name에는 현재부서가 들어간다.123select a.group_name,b.group_namefrom tb_groups a join tb_groups bon a.group_id = b.p_group_idcs 그런데 그냥 join을 걸면 group_id와 p_group_id가 같지 않은것(?)은 나오지 않는다. 그래서 조인의 조건에 만족되지 않는 행까지도 포함시키는 조인인 OUTER JOIN(외부조인)을 사용한다. RIGHT OUTER JOIN을 사용한 것은 기준이 되는 행이 오른쪽인 b.group_name이기 때문이다.123selec..
데이터를 쌓아서 어떤 상황에서 최근 100건만 남기고 삭제해야 하는 쿼리를 작성해보았다. 먼저 최근 100건만 가져오는 select 쿼리를 작성하였다. reg_dt 는 시간을 저장한 컬럼이다.1234select *from tb_log_actionsorder by reg_dt desc limit 100 cs MIN() 함수는 컬럼값 중 가장 작은 값 하나를 가져오는 함수이다. reg_dt 는 시간이고, 최근 100건만 남기고 삭제해야 하므로 100건중 가장 작은 값이 결과로 나오게 된다.1234select min(reg_dt) from (select reg_dtfrom tb_log_actionsorder by reg_dt desc limit 100) acs 삭제하는 함수는 delete 함수이다. delet..
엑셀 import 기능을 만들면서 첨부파일을 추가했을 때 이 파일을 서버에 저장했다가 읽은 후 파일을 삭제하는 기능을 controller에서 구현하였다. 저장할 디렉토리를 일단 만들어 놓고 그 경로에 첨부된 파일명과 동일하게 파일을 복사했다가 삭제하도록 하였는데, 디렉토리가 있어야 하는 경로에 디렉토리가 있는지 검사하고 없으면 만들어서 그 안에 파일을 복사하도록 수정하였다.excelUploadPath는 config/properties 파일에 지정해 준 경로이다. /home/excelUpload 이렇게 주었다면 excelUpload는 디렉토리 이름이다. destdir을 생성하고 저 디렉토리가 존재하는지 검사한 후 없으면 excelUpload라는 디렉토리를 생성해준다. destdir.mkdirs() 를 하면..
01. JSP와 서블릿1. JSP란? servlet이란? 2. JSP / Servlet : 자바기반 언어 ← 자바 컴파일러, 자바 가상기계(JDK) 필요 3. 웹서버 안에서 JSP와 서블릿을 지원하는 부분을 웹 컨테이너(톰캣) 라고 한다. 웹서버 웹브라우저의 요청(URL)을 받아 해당하는 웹페이지(HTML)를 찾아 보내주는 일을 하는 컴퓨터(소프트웨어)이다.웹 애플리케이션 HTML 문서를 생성하는 프로그램 : JSP , 서블릿 → 웹 애플리케이션 작성동적 HTML 문서 : 웹 애플리케이션이 생성하는 문서 정적 HTML 문서 : 웹서버에 파일 형태로 저장되어 있는 문서(이미지 파일 등)서블릿 : 자바를 기반으로 하는 웹 애플리케이션 프로그래밍 기술 자바 클래스 형태로 웹 애플리케이션을 작성한다. → 서블릿..
Mapper.java 에서 interface로 xml로 들어갈 쿼리의 이름을 선언해준다는 것을 얼마전에 알게 되었다.select 문을 실행할 때 한개의 값만 가져오는것과 여러개의 값을 가져오는 것 또한 다르다는 것을 알게되었다. Mapper.java 에 email을 가져오는 쿼리의 이름을 interface파일에 선언해주었다.1String selectEmailAddress();cs 가져오는 컬럼이 한개일 때 아래와 같이 select 문을 작성한다.Mapper.xml123 select email from tb_adminsColored by Color Scriptercs 그러나 가져오는 컬럼이 여러개일 때에는 resultMap으로 가져오는 컬럼에 대한 VO의 값(?)을 맞춰주어야 하는것 같다.AdminVO 를..
session 하이재킹이란?http://dokydoky.tistory.com/223페이지 로그인시 로그인 뷰 페이지에서 java의 경우 고유 식별 가능한(?) jsessionid가 발급된다. 그걸 쿠키에 저장시키는데, 이 jsessionid를 복사하여 다른 PC나 웹에 붙여넣으면 로그인 없이 로그인이 된다.그니까 jsessionid만 알면 다른 사용자가 나의 정보를 볼수있고 빼낼 수 있다. 이게 session 하이재킹이라고..그래서 이 session 하이재킹을 막아야 해서 구글을 검색하였다. 아래는 내가 찾은 몇가지 방법이다.1. httponly 쿠키를 사용한다.- 적용함자바스크립트의 쿠키요청에 브라우저가 응답하지 않는다.http://storyj.net/%EC%BF%A0%ED%82%A4cookie/htt..
1. 파라미터가 한개일때 Mapper.java1Integer updateEmailAddress(String emailAddress);cs Mapper.xml123 UPDATE tb_admins SET email=#{_parameter}Colored by Color Scriptercs 2. 파라미터가 한개이상일때Mapper.java1Integer updateEmailAddress(@Param("emailAddress") String emailAddress, @Param("adminId") String adminIdId);cs Mapper.xml123 UPDATE tb_admins SET email=#{emailAddress} WHERE admin_id =#{adminId}Colored by Color Sc..
- Total
- Today
- Yesterday
- String[] 파라미터
- jsp 기초 개념
- windows hyper-v
- foreach 배열
- 자바스크립트
- 체크박스전체해제
- SQL
- 스프링
- 제이쿼리
- input[type=file]초기화
- servlet게시판
- 게시판table설계
- 자바
- 윈도우8.1
- java
- Javascript
- spring
- 게시판페이지설계
- Split
- 체크박스
- input[type=text]초기화
- 이클립스DB연결
- selectbox에 값 매핑
- Hyper-V
- c 태그
- servlet
- jsp
- windows 8.1
- 스크립팅 요소
- 체크박스전체선택
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |