본문 바로가기

카테고리395

[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (6) - 게시글 목록 리스트 출력 (List<DTO>) 이전까지 단순히 게시글 등록까지만 완료한 후, DB에 등록한 데이터가 저장되는 것 까지 알아 보았다. 이렇게 저장된 데이터가 실제로 html 화면에 우리 눈에는 직접적으로 보이지 않는다. 한번 뽑아내보자!! 먼저 board-mapper.xml로 들어가자. board-mapper.xml mapper에서 select 쿼리를 사용하므로 resultMap 값이 제대로 들어갔는지 확인해주고, 조회할 쿼리를 작성하자. 이후 service 인터페이스로 넘어간다. 매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성) 매개변수 : 쿼리 실행 시 빈 값을 채울 용도 1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음 2. 채워줄 값이 하나일 경우 2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 .. 2023. 2. 28.
[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (5) - 게시글 등록 (INSERT) 게시글을 등록하는 글쓰기를 만들어 보려고 한다. 글쓰기 버튼이 어디있는지 살펴보자. webapp / view / content / board_list.jsp 파일에 있다. input 타입이 button으로 되어 있으니, form action = "boardDetail.bo"로 가지 않고 직접 경로를 지정해준다. onclick="goBoardWrite(); input 태그내에 경로를 위처럼 자바스크립트 형태로 만들어주었는데, 단, 위 c:if test ~~ 문장으로 세션에 들어있는 loginInfo 값이 빈 값이 아닌,, 즉, 일치할 때 (로그인이 되었을 때) 쓸 수 있다. html head태그 밑에 를 써서 자바스크립트 문법으로 board_write.bo로 보내는것으로 코드를 짜보았다. BoardCont.. 2023. 2. 28.
[컴퓨터활용능력 1급] 25수 + @수 했던 나의 공부법 !(컴공좌) 안녕하세요. 제가 컴활 1급 정말 많이 떨어졌지만 하나도 부끄럽지 않아서 올려봅니다. 필기 공부법 필기는 쉬웠어요. CBT만 돌리면 합격이었거든요 ! CBT전자 문제집 가서 년도별 기출문제 3개년치 정도 외워가면 많이 도움이 됐습니다. 아무래도 전공자다보니 컴퓨터쪽으로 이론은 아는 내용도 몇개 나오더라구요. 근데 웬만해선 거의 기출문제 뺑뺑이 였던것 같아요. 노베이스시더라도 1주일 정도 필기공부 열심히 하시면 충분히 붙을 수 있을거 같아요 ! 문제는 실기입니다. 저는 실기를 정말 많이 봤어요. 대충 공부하기도 했죠. 첫 시험에서 나름 50~60점대로 점수가 나와서 만만하게 봤어요. 하지만 거기서 점수가 안오르더라구요 시험장에서 매번 실수를 해서 그렇습니다. 계산을 24점 받더라도 매크로가 다 틀려있는 날.. 2023. 2. 27.
[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (4) - Session (로그인 성공, 실패) 이전까지 회원 가입 버튼을 눌러 회원 등록을 하면 DB에 데이터가 저장되는 것 까지 알아보았다. 등록한 데이터를 가지고 로그인을 해보자. 이곳에서 LOGIN을 누르면 Session값을 받아와 로그인 하기를 만들어 보려고 한다. header.jsp이다. 를 사용해 when, otherwise를 나누어주었다. when은 ~~일 때, otherwise는 그렇지 않을 때 이다. 즉, if 와 else if와 유사한 구문이라고 생각할 수 있다. when을 사용하여 session값을 불러온 값이 not empty 비어있지 않을 때 로그인이 되어야 하지만, 아직까지는 session 값을 받아오지 않았으므로 LOGIN을 누르면 otherwise에 있는 loginForm.me로 들어간다. loginForm.me는 Mem.. 2023. 2. 27.
[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (3) - 회원 등록 (DB에 데이터 저장) 이전까지 webapp / content에 있는 board_list.jsp 까지 보았다. 이곳에서 LOGIN을 누르면 Session값을 받아와 로그인 하기를 만들어 보려고 한다. header.jsp이다. 를 사용해 when, otherwise를 나누어주었다. when은 ~~일 때, otherwise는 그렇지 않을 때 이다. 즉, if 와 else if와 유사한 구문이라고 생각할 수 있다. when을 사용하여 session값을 불러온 값이 not empty 비어있지 않을 때 로그인이 되어야 하지만, 아직 회원가입조차 하지 않았으므로 joinForm.me를 눌러 회원가입부터 조져보자. MemberController.java (서블릿) join.jsp로 가라고한다. join.jsp HTML 삽입 미리보기할 수 .. 2023. 2. 27.
[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (2) - Template jsp설정하기 ( Include 포함) 템플릿을 사용하여 화면을 구상할 것이기 때문에, webapp폴더에서 view폴더를 만든 후, template폴더까지 만들자. template 폴더 안에는 header.jsp와 template.jsp를 각각 만들어준다. 을 이용하여 jsp에 여러개의 jsp 파일을 분할할 수 있다. template.jsp HTML 삽입 미리보기할 수 없는 소스 template.jsp에는 header와 서블릿에서 받아올 contentPage를 include시켜주었다. 두개의 화면으로 구성된 것이다. 이후 webapp로 돌아와 프로젝트 첫 실행화면 index.jsp를 하나 생성해주자. 이때 주의할 점은 webapp 폴더 바로 밑에다가 만들어야 한다. index.jsp HTML 삽입 미리보기할 수 없는 소스 에 있는 boardL.. 2023. 2. 27.
[Servlet / JSP / SQL / Template / Session] 회원 관리 폼 만들기 (1) - CREATE (DB 테이블 생성) 이번에는 Servlet / JSP / SQL / Template / Session을 모두 이용하여 게시판을 만들어 보려고한다. 패키지로 controller, service, sqlmap 그리고 webapp 하위 폴더로 view content, template, css 폴더를 만들어 확장성이 높은 게시판을 만들어보았다. 먼저 DB에 쿼리들을 작성해 회원테이블(Member), 게시판 테이블(Board), 댓글 정보 테이블(Reply) 을 생성해주었다. 회원 테이블 .SQL HTML 삽입 미리보기할 수 없는 소스 게시판 테이블.SQL HTML 삽입 미리보기할 수 없는 소스 댓글 정보 테이블.SQL HTML 삽입 미리보기할 수 없는 소스 이렇게 DB에 데이터를 저장시켜 놓고, 이클립스로 돌아와 DTO 클래스를 .. 2023. 2. 27.
[Oracle / SQL] 조인(JOIN) 여러가지 쿼리를 동시에 조회하는 것이다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 테이블에 별칭을 붙이는 방법 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 위 세개는 모두 같은 값을 조회한다. 테이블에서는 별칭을 붙일때 AS를 붙이면 에러가 뜬다. HTML 삽입 미리보기할 수 없는 소스 DEPTNO는 EMP와 DEPT 둘다 들어가있는데, 확실히 정해주지 않아서 오류가 뜬 것이다. 어떤 테이블에 있는 데이터를 조회할지 무조건 명확하게 명칭해주어야 한다. 예를들어 EMP.DEPTNO 라던가 DEPT.DEPTNO라고 해야한다. HTML 삽입 미리보기할 수 없는 소스 엄청 많이 나온다.. ORDER B.. 2023. 2. 27.
[Servlet / JSP ] 세션(Session) 데이터 저장, 전달, 삭제 방법 세션이란? 서버와 클라이언트간의 정보를 전달하는 것이다. 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법이다. 즉, 사용자가 브라우저를 닫아 서버와의 연결을 끝내는 시점까지를 세션이라고 한다. 이전까지 서블릿과 jsp를 왔다갔다하며 항상 데이터 값들을 전달했다. 하지만 너무 불편하지 않은가? 그래서 세션을 사용한다. 세션에 한번 데이터를 전달하고 나면 불필요하게 이동할때마다 가지고 다닐 필요가없어서 사용한다. 즉, id값을 서버의 어딘가에 넣어 저장시키면 계속 저장하고있다. 이 공간을 세션이라 한다. 세션과 쿠키는 뭐가 다른데? 쿠키는 내 컴퓨터에 데이터가 저장이 된다이고 세션은 서버에 데이터가 저장된다. 1. 세션을 먼저 사용하려면 서블릿에서 세션 객체를 생성해주어야한다. Sevl.. 2023. 2. 26.
[Oracle / SQL] 단일행 함수(Single)와 다중행 함수(Mutible) 단일행 함수(SINGLE ROW FUNCTION) - 한개의 입력 한개의 출력 - SELECT, WHERE, ORDER BY, UPDATE의 SET 절에서 사용 가능 - 조회되는 컬럼 값이 같아야한다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 다중행 함수(Mutible ROW FUNCTION) - 일반적인 컬럼과 같이 조회가 불가하다. - 여러 행을 바탕으로 1개의 결과값을 도출 - 여러행이 결과로 나오는 열은 사용불가 HTML 삽입 미리보기할 수 없는 소스 위 쿼리는 실행안된다. 조회되는 컬럼 값이 같아야한다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 혹시라도 이런 쿼리로 숫자를 세려고한다면 절대 이렇게 하지말자. NULL 값은.. 2023. 2. 26.
[Oracle / SQL] 많이 쓰는 함수 NVL , NVL2 , DECODE , CASE NVL 함수 : NULL 값을 원하는 값으로 조회 NVL( 값 혹은 컬럼, 치환 값) NVL HTML 삽입 미리보기할 수 없는 소스 위에서 NVL은 COMM의 NULL 값을 0으로 바꿔주세요. 이다 HTML 삽입 미리보기할 수 없는 소스 위 쿼리는 자료형이 일치하지 않아서 실행안된다. COMM은 숫자형이니 문자열과 일치하지 않다. NVL2(값 혹은 컬럼, NULL이 아닐때 값, NULL일 때 치환 값) NVL2 HTML 삽입 미리보기할 수 없는 소스 NVL2을 말하자면, COMM이 널이 아니면 1000, 널이면 0이라는 말이다. HTML 삽입 미리보기할 수 없는 소스 NVL2는 자료형이 불일치하더라도 NVL과 다르게 조회가 가능하다. DECODE( ) 함수 -> 자바의 IF, ELSE IF, ELSE H.. 2023. 2. 26.
[React] 리액트 JSX문법, State 알아보기 JSX란? JavaScript에 XML을 추가한 문법이다. 그러나, JSX는 리액트로 프로젝트를 개발할 때 사용되므로 공식적인 자바스크립트 문법은 아니다. 사용법 - JSX(JavaScript XML)은 일반적인 HTML처럼 사용하면 된다. 단, JSX에서 특별히 허용되는 문법과 지켜야 할 문법이 존재하며 이 문법만 숙지하면 기존의 HTML 코드 안에 JavaScript 코드를 넣어 사용하는게 가능하다. JSX 에서 지켜야 할 문법 1. 하나의 부모 엘리먼트가 반드시 감싸야 한다. 만약 어떤 요소로 감싸기 애매할 경우 Fragment를 사용하기도 하는데, 처럼도 사용할 수 있다. 다만, Fragment는 일반 태그보다 처리속도가 느리므로 사용을 지양하는것이 좋다. 2.자바 스크립트 표현식 3. if, f.. 2023. 2. 26.