-
(국비교육) 36 - project1 이어하기4 + 5회차 시험 + 로고 제작 사이트 + 게시판 수정 기능 만들기개발/국비교육 2023. 7. 20. 17:39
■ 수정하기 만들기
edit 함수 만들기
누르면 edit 으로 이동하게 설정 번호도 그대로 가져오게 #{ } 으로 작성
이제 맵핑처리 필요하다.
edit get mapping 만들어준다.
detail 타입 안맞아서 오류 뜬다.
이를 맞춰주는 메소드를 유틸에 만들어주고자 한다.
char 형태 숫자인지 아닌지 판별하는 isDigit을 사용해 str.charAt(i) 값을 비교한다.
isDigit 은 참,거짓을 나타내는데 만약 숫자라면 re 라는 변수에 담아준다.
그리고 이 문자열을 인트 타입으로 변환해준다
혹은 stringbuilder 로 차곡차곡 쌓은 것은을 내보낼 수도 있다.
append 로 이를 쌓아주고 쌓은 char 값을 toString()을 통해 문자열로 만들고
parseInt 를 통해 int 타입으로 바꿔준다.
그리고 만든 숫자변환 Util 을 결해준다.
디테일 타입이 기존 String 으로 설정돼있어 타입이 맞지 않아 오류 뜬다
눌러서 int 타입 자동으로 다 바꿔준다.
보드 맵퍼 타입도 Integer 로 바꿔준다.
편리하게 write.jsp 를 복사해서 edit.jsp 를 만들어준다.
해당 내용이 나오는지 넣어서 확인해본다.
해당 내용 체크하면 된다.
edit 으로 바꾸고 post 처리
value 로 타이틀 변경
텍스트 사이에 값 넣기
수정하는 글을 쉽게 보내는 방법이 input 이라서 input 처리해주고
이름 bno 로 value 값은 bno 거 가져와 type 은 hidden 으로 숨긴다.
다음과 같이 나온다.
■ 로그인 화면 만들기
■ 적용하기
주소 여러개 문자 입력해도 그대로 나오게 설정 완료 되었다.
이제 포스트 맵핑을 통해 edit 처리되면 해당 값을 출력하고,
다시 보드로 돌아오게 설정 된다.
dto 와 이름 맞추기 위해서 이름 변경해준다.
이름을 변경해줘야 밑에 나오는 추후 기능 사용이 가능하다.
다음과 같이 결과값 확인 가능
메소드 자동 생성하기
서비스도 메소드 생성해주기
이제 sql 에 내용 수정에 해당하는 update 로 명령을 주고자 한다.
해당하는 sql 문을 작성해준다.
그러면 수정된 글이 반영된 것을 확인 가능하다.
만약 다시 수정한 글이 바로 뜨길 원한다면
detail?bno= 반복되므로 그대로 string 으로 적어주고
dto.getBno()를 통해 bno 번호 얻어서 수정하던 게시판으로 돌아가게 설정 가능하다.
http://www.janvas.com/draw-edit-svg/en/index.html
https://pixso.net/kr/reviews/the-8-best-prototyping-tools-for-ui-designers/
https://smashinglogo.com/en/?gclid=EAIaIQobChMI3tSfxumcgAMVH9MWBR00aA_cEAAYASAAEgLNaPD_BwE
https://littledeep.com/free-logo-maker/
* 시험문제
[문항1] 주제와 관련된 의미 있는 데이터들의 집합 저장소를 칭하는 말을 선택하세요.(5점) 1번
1) 데이터베이스 2) 시퀀스 3) 저장프로시저 4) 데이터타입 [문항2] 데이터베이스를 사용하는 목적이 아닌 것을 선택하세요.(5점) 4번
1) 중복의 최소화 2) 데이터 공유 3) 무결성 4) 복잡성 [문항3] 다음 중에서 반올림을 사용하기 위하여 사용하는 함수는 무엇인지 선택하세요.(5점) 3번
1) ceil 2) floor 3) round 4) trunc [문항4] SQL문 LIKE 절에서 한글자를 지칭하는 wild card가 무엇인지 선택하시오. (문자의 정확한 위치 등을 지정하고 싶을 때 쓰는 것. 5점) 4번
1) % 2) & 3) $ 4) _ [문항5] 테이블 구조를 확인할 때 사용하는 쿼리문을 선택하시오.(5점) 2
1) select 테이블명 2) desc 테이블명 3) create 테이블명 4) drop 테이블명 [문항6] 다음 보기에서 설명하는 것은 무엇인가 적으시오.(5점)
- 방대한 양의 데이터를 편리하게 관리하고 효율적으로 저장하고 검색할 수 있는 환경을 제공해 주는 시스템 소프트웨어
- 데이터베이스에 대한 사용자의 모든 요구를 수행할 수 있는 기능을 갖도록 하는 각 단계별 구조와 이들 사이의 인터페이스 및 데이터베이스 언어로 구성된 소프트웨어=> DBMS
[문항7] 다음 보기에서 입사일을 기준으로 내림차순 정렬을 하고자 할 때 ( )안에 들어갈 명령어는 무엇인지 적으시오.(5점)
SELECT hire_date, employee_id, first_name, salary, department_id FROM employees
ORDER BY hire_date ( )=> DESC
[문항8] SQL Injection이 무엇인지 서술하시오.(10점)
SQL Injection은 웹 애플리케이션 등에서 발생하는 보안 취약점 중 하나로, 악의적인 사용자가 애플리케이션에 악의적인 SQL 코드를 삽입하여 데이터베이스에 접근하거나 조작하는 공격 기법을 의미한다.
[문항9] VIEW의 사용 목적을 간단하게 서술해 주세요.(10점)
-- 사용자 마다 특정 객체만 조회할 수 있도록 할 필요가 있다. (보안)
-- 복잡한 질의문을 단순화 할 수 있다.
-- 데이터의 중복성을 최소화할 수 있다.'[문항10] 학생 테이블은 학번, 이름, 학년, 수강과목, 점수, 연락처를 속성으로 가진다. 아래 조건을 만족하는 SQL문을 작성하시오.(10점)
1) 학생 테이블에서 3,4학년인 학번, 이름을 조회한다.
2) IN 연산자 사용해야 한다.=> SELECT 학번 , 이름 FROM 학생 WHERE 학년 IN (3,4);
[문항11] 다음 SQL 결과에 알맞는 쿼리을 작성하시오.(10점)
SELECT name, score FROM 성적 ( 1 ) BY ( 2 ) ( 3 )
=> (1) ORDER (2)score (3) DESC
[문항12] STUDENT 테이블에서 컴퓨터과 학생 50명, 인터넷과 학생 100명, 사무자동화과 학생 50명의 정보가 저장되어 있을 때, 다음 SQL문의 실행 결과에 따른 튜플의 수는? (단, DEPT 칼럼은 학과명이다.) (10점)
1) SELECT DERP FROM STUDENT;
2) SELECT DISTINCT DEPT FROM STUDENT;
3) SELECT COUNT(DISTINCT DEPT) FROM STUDENT WHERE DEPT = '컴퓨터과';=> 200 / 3 / 1
[문항13] 데이터베이스의 이상현상 중, 삭제 이상에 대해 서술하시오.(10점)
삭제 이상이란 어떤 정보를 삭제하면, 의도하지 않은 다른 정보까지 삭제되어버리는 현상을 말한다. 즉 내가 원하는 값만 테이블에서 삭제하고자 하지만 하나의 튜플에 삭제를 원하지 않는 값이 있다면 두 가지 정보가 함께 삭제되는 현상을 말한다.
[문항14] 다음과 같이 테이블을 생성하고자 한다 생성코드를 작성해주세요(10점)
CREATE TABLE member
(
`mno` INT(11) NOT NULL AUTO_INCREMENT,
`mid` VARCHAR(50) NOT NULL DEFAULT NULL,
`mpw` VARCHAR(500) NOT NULL DEFAULT NULL,
`mdate` DATETIME NULL DEFAULT current_timestamp(),
`mname` VARCHAR(50) NOT NULL DEFAULT NULL,
`mdel` ENUM('0','1') NOT NULL DEFAULT '0',
`mgrade` TINYINT(4) NULL DEFAULT '5',
PRIMARY KEY (`mno`),
UNIQUE KEY `UQ_member_1` (`mid`)
);정답 : CREATE TABLE member( mno INT(11) NOT NULL AUTO_INCREMENT, mid VARCHAR(50) NOT NULL, mpw VARCHAR(500) NOT NULL, mdate DATETIME NULL DEFAULT current_timestamp(), mname VARCHAR(50) NOT NULL, mdel ENUM('0','1') NOT NULL DEFAULT '0', mgrade INT(1) NULL DEFAULT '5', PRIMARY KEY (`mno`) USING BTREE, UNIQUE INDEX `mid` (`mid`) );
https://yozm.wishket.com/magazine/detail/2132/
'개발 > 국비교육' 카테고리의 다른 글
(국비교육) 38 - project1 이어하기6 (0) 2023.07.24 (국비교육) 37 - project1 이어하기5 + 로그인 기능 + 로그아웃 기능 (0) 2023.07.21 (국비교육) 35 - project1 이어하기3 + 웹포트 설정 + 포트열기 + 상대 IP 가져오기 + 삭제하기 작업(CRUD) (0) 2023.07.19 (국비교육) 34 - project1 이어하기2 (메뉴 만들기 + 게시판 글쓰기 + 게시판 꾸미기 + 게시판 연동하기) + 파비콘 생성하기 (0) 2023.07.18 (국비교육) 33 - project1 생성하기 + 4회차 시 (0) 2023.07.17