-
(국비교육) 45 - 7회차 시험문제 + project1 이어하기12 (회원가입 중복체크 + 비동기vs동기 + JSON )개발/국비교육 2023. 8. 2. 18:30
* 시험문제
[문항1] 새 테이블을 만들 때 사용하는 sql 명령어는? 1번
1) create table 2) drop table 3) delete 4) truncate 5) limit [문항2] 테이블을 삭제할 때 사용하는 sql 명령어는? 2번
1) insert 2) drop table 3) update 4) select 5) where [문항3] 테이블을 수정할 때 사용하는 sql 명령어는? 3번
1) limit 2) order by 3) alter table 4) group by 5) having [문항4] 테이블의 각 레코드를 구분하게 해주는 컬럼을 가리키는 용어는? 4번
1) not null 2) default 3) null 4) key 5) join [문항5] MySQL의 자료형 중 정수형을 나타내는 키워드는? 5번
1) varchar 2) datetime 3) null 4) min 5) int [문항6] MySQL의 자료형 중 문자열을 나타내는 키워드는? 1번
1) varchar 2) min 3) max 4) limit 5) default [문항7] MySQL의 자료형 중 날짜와 시간을 표현하는 키워드는? 2번
1) select 2) datetime 3) update 4) delete 5) insert [문항8] MySQL의 컬럼 제약사항 중 NULL을 허용하지 않는 키워드는? 3번
1) varchar 2) int 3) not null 4) double 5) text [문항9] MySQL의 컬럼 제약사항 중 중복을 허용하지 않는 키워드는? 4번
1) default 2) now 3) not null 4) unique 5) sysdate [문항10] MySQL의 컬럼 제약사항 중 기본값을 지정해 주는 키워드는? 5번
1) string 2) min 3) max 4) count 5) default 타입, 넥스트 : 자바스크립트로 바꿔준다음에 실행 바로실행x
바닐라 : 순수 자바 스크립
■ 회원가입 중복 체크하기
중복검사 버튼 클릭했을 때 아이디 값 출력되도록 콘솔에 넣어본다.
리턴 false 는 submit 으로 보내지 않기 위해서다.
아이디 공백이거나 5글자 미만인 경우 메세지 뜨게 설정 가능하다.
다음과 같이 css 효과 줄 수 있다.
css 효과를 붙여서 한 번에 줄 수 있다.
* 비동기통신(일방적)
- 일방적으로 주거나 받기, 요청과 응답 순서 보장되지 x
ex) 롤 화면 전체 바뀌지 않고 공격하기, 댓글 달기
- 데이터를 바뀌는 일부만 변경해서 속도가 빠르다.
- 적은 데이터 소모
- 대표적 비동기 통신으로 AJAX 가 있다.
* 동기통신- 턴이 넘어가는 것(주고받기), 요청과 응답 순서 보장 o
ex)바둑, 폼 전달
🌐 웹의 비동기(Async) / 동기(Sync) 통신 정리
웹에서의 비동기와 동기 웹 개발을 하다보면 비동기(Async)와 동기(Sync)라는 용어를 자주 접하게 될 것이다. 이 두 용어는 웹에서 데이터를 주고받는 방식을 설명하는데 사용되는데, 동기(Sync)는
inpa.tistory.com
비동기방식으로 불러본다.
형식은 다음과 같다.
우리는 아직 데이터 연결을 하지 않아 다음과 같이 실패시 결과값이 나온다.
해당 값을 찍으면 전달받은 파라미터 값이 출력된다.
responsebody 는 바디에 결과값 1만 전달한다.
따라서 성공결과값 1 이라는 결과를 출력한다.
if 조건으로 id 가 dj 와 gansin 인 경우에만 1이고 나머지는 0 이다.
https://cheershennah.tistory.com/179
[Spring] @RequestBody / @ResponseBody 어노테이션 이란?
스프링에서 비동기 처리를 하는 경우 @RequestBody , @ResponseBody를 사용한다. 비동기 처리를 위해 이 어노테이션들은 어떻게 작동할까? 클라이언트와 서버의 비동기 통신 클라이언트에서 서버로 통
cheershennah.tistory.com
이제 서비스가 일하게 해줄 것이다.
DAO 도 일하게 만들어준다.
SQL 도 일하게 해준다.
sql 문장 적어준다.
없는값은 0, 있는 값은 1 이 뜬다.
타입 맞춰주기 위해 result+"" string 타입으로 만들어준다.
그리고 실제로 구동해보면 정상적으로 연결된 것을 확인할 수 있다.
등록된 아이디, 없는 아이디 css 효과 줄 수 있다.
아이디창에 효과를 줄 수도 있다.
오류 출력을 위해 잠깐 통신을 끊기 위해 url 을 checkID2 로 설정해준다.
오류 발생 시 다음과 같이 출력된다.
■ JSON (java script object notation)
json 형식은 다음과 같다.
이제 되돌려오는 타입도 json {result : 0 } 형태로 받을 것이다.
return 타입 다음과 같이 받아줄 것이다.
그러나 다음과 같이 쓰면 오류가 뜬다.
json 이 들어가야 해당 부분이 나온다.
따라서 json 을 maven 에서 링크 복사 후 붙여넣어준다.
<!-- https://mvnrepository.com/artifact/org.json/json --> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20230227</version> </dependency>
json 객체 만들어주고 json에 result 값을 넣어준다.
그리고 그 값을 return 해준다.
string 타입이기 때문에 return 도 맞춰줘야 해서 json.toString() 으로 바꿔준다.
success에서는 담아온 data 를 의미한다.
여기 변수는 위에 data 와는 다르며 명칭이 data 인 것이다.
변수명이 abc 혹은 그 외에 것이 되어도 상관이 없다.
왜냐하면 말 그대로 작업을 마친 데이터를 가진 변수명이기 때문이다.
이 데이터에서 담은 값을 뽑는것은 data.result 이다.
즉 여기서는 0과 1 이 나오게 된다.
https://www.json.org/json-ko.html
JSON
JSON (JavaScript Object Notation)은 경량의 DATA-교환 형식이다. 이 형식은 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1
www.json.org
■ 게시판 2 만들기
이전 보드 게시판이랑 동일한 css 적용할 것으로 불러넣어주고,
jquery 사용을 위해서 script 넣어준다.
script 에서 function 을 통해 table 에 append 를 통해 값을 붙여넣어준다.
다음과 같이 화면 출력된다.
게시판 게시글 list 안에 넣어주고 알림창에 넣어주면 다음과 같다.
const 는 변하지 않는 값을 말한다.
for 문으로 안에 값 추가해준다.
+ 연결해서 출력가능하게 만들어준다.
보드 내용을 가져오는 비동기식 ajax 를 작성해준다.
* 에러해결
나의 경우 $.ajax 를 하지 않아 오류가 떴다
누락한 . 을 넣으니 정상적으로 실행되었다.
LoginController 에 있던 responsebody 를 RestController 로 분리해준다.
restController 은 responsebody 를 전체에 적용해주는 기능을 한다.
연결도 2개 써줘야 연결된다.
그러나 우리는 boardList2 를 login 과 연결하기로 했다.
왜냐하면 분리한 checkID가 login 과 연결했었기 때문에 그냥 해당 서비스와 연결했다.
이제 boardList2 url 을 get 방식으로 맵핑한다.
보드서비스가 일한 것을 list 형식의 list 변수에 넣어준다.
서비스에도 리턴타입으로 dao 메소드를 일한 값을 받는다.
DAO에도 sql 문 작성해준다.
여러개 리스트 받을 예정이니까 selectList 로 받는다.
sql 문 작성해준다. boardview 0번째에서부터 10개 나오도록 설정해준다.
0은 처음시작점, 10은 갯수이다.
이제 다음과 같이 연결된 것을 확인할 수 있다.
https://mangkyu.tistory.com/49
[Spring] @Controller와 @RestController 차이
Spring에서 컨트롤러를 지정해주기 위한 어노테이션은 @Controller와 @RestController가 있습니다. 전통적인 Spring MVC의 컨트롤러인 @Controller와 Restuful 웹서비스의 컨트롤러인 @RestController의 주요한 차이점
mangkyu.tistory.com
'개발 > 국비교육' 카테고리의 다른 글
(국비교육) 47 - project1 이어하기14 ( (0) 2023.08.04 (국비교육) 46 - project1 이어하기13 (JSON view + 페이징 처리 + 댓글 기능) (0) 2023.08.03 (국비교육) 44 - vs code + jQuery CDN + project1 이어하기11 + append + Toggle + Show/Hide + 로그인 검사하기 + ajax (0) 2023.08.01 (국비교육) 43 - 자바 그래픽 + jQuery + vs code (0) 2023.07.31 (국비교육) 42 - project1 이어하기10 (0) 2023.07.28