일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- exception
- 참조형변수
- 자동차수리시스템
- 오라클
- 사용자예외클래스생성
- 인터페이스
- 생성자오버로드
- NestedFor
- 대덕인재개발원
- 제네릭
- 어윈 사용법
- 객체 비교
- oracle
- abstract
- 정수형타입
- 예외미루기
- 한국건설관리시스템
- 추상메서드
- GRANT VIEW
- cursor문
- Java
- 예외처리
- 다형성
- 자바
- 집합_SET
- 메소드오버로딩
- 컬렉션프레임워크
- 컬렉션 타입
- EnhancedFor
- 환경설정
- Today
- Total
목록2023/11 (128)
거니의 velog
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bGFQH7/btsAGURAipB/7X4krCIE1AmZBcUXg28y2k/img.png)
package kr.or.ddit.controller.board; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/board") public class BoardController {..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/8rhQM/btsAKcwQjvi/PUryiLlqCgNFRP6Bdxx0rK/img.png)
[IMainService.java] package kr.or.ddit.main.service; import java.util.List; import java.util.Map; import kr.or.ddit.vo.BoardVO; public interface IMainService { public List selectBoardList(); public Map selectAllCount(); } [MainServiceImpl.java] package kr.or.ddit.main.service; import java.util.List; import java.util.Map; import javax.inject.Inject; import org.springframework.stereotype.Service; ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nga2S/btsAGVCNm7g/0I9lmz2FsMrjWvBymYJack/img.png)
[NoticeVO.java] package kr.or.ddit.vo; import lombok.Data; @Data public class NoticeVO { private int noticeNo; private String noticeTitle; private String noticeContent; private String noticeWriter; private String noticeDate; private int noticeHit; } [mybatisAlias.xml] [INoticeService.java] package kr.or.ddit.notice.service; import java.util.List; import kr.or.ddit.ServiceResult; import kr.or.ddi..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/coVtzi/btsAyWpleqw/8Mt56QLsbaRiCXPJyZzQKK/img.png)
4. 게시판 목록 표시하기 * 게시판 글목록창은 이전에 이미 실습해 봤다. 이번에는 스프링에서 마이바티스와 타일즈를 이용해 게시판 글목록창을 나타내 보자. (1) 자바 클래스 구현하기 1. 먼저 src/main/java 패키지 하위에 board 패키지를 만든 후 아래 그림처럼 패키지를 구성한다. 그리고 JSP는 이전에 실습한 게시판 관련 JSP 파일을 재사용할 것이므로 프로젝트 pro17의 board07 폴더에 있는 JSP 파일을 모두 복사해 views/board 폴더에 붙여 넣는다. 2. 컨트롤러 클래스인 BoardControllerImpl를 다음과 같이 작성한다. 브라우저에서 요청하면 모든 글 정보를 조회한 후 ModelAndView 객체에 바인딩하여 JSP로 전달한다. @Controller("boa..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bi51hl/btsAzbGIGj7/NBemzIT0WAqTgKjJQA9UR1/img.png)
-- SPRING 1 -- FREE 테이블 생성 create table free( free_no number not null, free_title varchar2(300) not null, free_content varchar2(3000) not null, free_writer varchar2(150) not null, free_date date not null, free_hit number(8) default 0 null, constraint pk_free primary key(free_no) ); -- FREE 테이블 시퀀스 생성 CREATE SEQUENCE seq_free INCREMENT by 1 start with 1 nocache; commit; select * from free; -- SPR..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Fboy8/btsAF5Y5aJY/88lvXtSpDhM76EwOxk1fp0/img.png)
[view.jsp] Bootstrap Bootstrap Bootstrap Bootstrap Bootstrap Bootstrap Home 일반게시판 공지사항게시판 자유게시판 일반게시판 일반게시판 CRUD를 작성해주세요. 일반게시판 전체 ${pagingVO.totalRecord }건 제목 작성자 검색 # 제목 작성자 작성일 조회수 조회하신 게시글이 존재하지 않습니다. ${board.boNo } ${board.boTitle } ${board.boWriter } ${board.boDate } ${board.boHit } 등록 ${pagingVO.pagingHTML } @Controller @RequestMapping("/board") public class BoardRetreiveController { @Inj..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sRue4/btsAClazIeD/XlrZw2Jfet7gmKBZ8wC060/img.png)
* 일반적인 웹 애플리케이션은 여러 기능들이 합쳐져 만들어진다. 즉, 개발자들이 기능들을 각각 구현한 다음 이를 합쳐서 하나의 웹 애플리케이션을 만드는 것이다. 우리는 지금까지 회원 관리 기능을 구현하면서 스프링 기능을 익혔다. 이번에는 이제까지 구현한 회원 관리 기능에 답변형 게시판 기능을 추가해 보자. 이를 통해 일반적인 웹 애플리케이션 구현 과정에 한 발 더 다가갈 수 있을 것이다. 1. 기존 소스 코드 변경하기 * 새 프로젝트 pro30을 만든 후 이전에 만든 회원 기능 소스 코드를 복사해 수정하는 방식으로 실습을 진행해 보자. 1. pro30의 pom.xml에 타일즈와 마이바티스 관련 라이브러리를 추가한다. 4.0.0 com.myspring pro30 pro30 war 1.0.0-BUILD-SN..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cN7pkb/btsAvtAPqsT/8P454oM86DoGwU6py3UHC1/img.png)
3. @PathVariable 사용하기 * @PathVariable을 사용하면 브라우저에서 요청 URL로 전달된 매개변수를 가져올 수 있다. [TestController.java] @RestController @RequestMapping("/test/*") public class TestController { @RequestMapping(value = "/notice/{num}", method = RequestMethod.GET) // 브라우저에서 요청 시 {num} 부분의 값이 @PathVariable로 지정된다. public int notice(@PathVariable("num") int num) throws Exception { // 요청 URL 에서 지정된 값이 num에 자동으로 할당된다. ret..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/sgINg/btsAy5SKs71/LoRkM4BcHXlleYr1Yfs3ok/img.png)
- yarn으로 package.json에 걸린 의존성 모듈을 모두 설치한다. [index.js] const express = require('express'); const app = express(); const mysql = require('mysql'); const cors = require('cors'); const bodyParser = require('body-parser'); const { urlencoded } = require('body-parser'); const PORT = process.env.port || 8000; const db = mysql.createPool({ host: "localhost", user: "root", port: 3305, password: "python",..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/njO56/btsAD3T8VuG/NIPOtEwlXKakxRW7RfISr1/img.png)
7. 책 삭제 만들기 7-1. 책 삭제 기능 쿼리 생성 - 책 삭제 기능 쿼리 작성 - 7-2. 책 삭제 기능 DAO 메소드 작성 - public int delete(Map map) 7-3. 책 삭제 기능 service 인터페이스 메소드 생성 - public boolean removeBook(Map map) 7-4. 책 삭제 기능 service 클래스 메소드 생성 - public boolean removeBook(Map map) 7-5. 책 삭제 기능 컨트롤러 메소드 작성 - public ModelAndView removeBook(Map map) 7-6. 책 삭제 기능 확인하기 - 책 삭제 기능 > 책 목록 8. 책 목록 만들기 8-1. 책 목록 기능 쿼리 생성 - 책 목록 기능 쿼리 작성 - 8-2. ..