DB 연동방식
basic04_web의 webapp폴더에 sql 폴더 만들고 sql파일 생성하기

sungjuk.sql
sql 파일에 sql문 한 번 복기하기
테이블삭제, 테이블생성

시퀀스 Sequence 생성,삭제

[행추가] sungjukIns.jsp
insert into sungjuk(sno, uname, kor, eng, mat, aver, addr, wdate)
values (sungjuk_seq.nextval, ?, ?, ?, ?, ?, sysdate);

[전체목록] sungjukList.jsp
select * from sungjuk order by sno desc;

[상세보기] sungjukREad.jsp
select * from sungjuk where sno=?

[행삭제] sungjukDel.jsp
delete from sungjuk where sno=?

[행수정] sungjukUpdate.jsp
update sungjuk
set uname=?, kor=?, eng=?, mat=?, aver=?, addr=?, wdate=sysdate
where sno?

게시판 페이지의 흐름
1) 입력
- weppapp\sungjuk\sungjukFrom.jsp

- sungjukFrom.jsp

- sungjukFrom.jsp Run

sungjukIns.jsp 생성

요청 IP 확인하기
- sungjukIns.jsp

- sungjukFrom.jsp Run

- sungjukIns.jsp Run

↳ 값을 입력하고 전송을 부르면 요청 ip가 출력된다.
Oracle DB 연결 및 행추가
- sungjukIns.jsp


↳ 자동 임포트된다 ㅋ
- sungjukForm.jsp Run (부모 파일을 열어야함)

- sungjukIns.jsp Run

Oracle DB 연결 및 행추가 부적합한 index 오류

1) system.out.println → out.println 으로 작성하지 않아서 텍스트가 출력되지 않았음.
2) 물음표 개수
sql.append(" VALUES (sungjuk_seq.nextval, ?, ?, ?, ?, ?, ?, sysdate) ");
물음표 uname, kor, eng, mat, aver, addr 6개를 작성해야 하는데 잘 확인하지않고 5개 작성함.
3) pstmt.setString(6, addr);
근데 이건 제대로 작성함.. index 가 일치하지 않았음.
성적입력 성공 실패 alert로 화면에 띄우기
- sungjukIns.jsp

- sungjukFrom.jsp Run

- sungjukIns.jsp Run


↳ sungjukList.jsp는 아직 파일생성 전이기때문에 오류가 난다.
↳ 쉬운 에러메세지 : HTTP 상태 404 파일이 없다는 의미.
cmd에서 입력값 추가되었는지 확인하기
>sqlplus system/1234
> select * from sungjuk order by sno desc;

2) 목록
sungjukList.jsp → sungjukRead.jsp
sungjukList.jsp 생성

- resultSet 추가하기


- 출력코드 추가하기

↳ 코딩을 하다보면 jsp문을 중간에 넣어야할 때가 있는데 중간중간 이렇게 추가를 하다보면 코드가 더러워진다. (스파게티코드)
mvc : 백엔드와 프론트엔드 코드를 나눠 프론트에서 코딩할 것은 프론트에서 다 작업을 마쳐서 오고 백엔드는 백엔드단에서만 작업할 수 있도록 분리시켜 작업을 해야한다.
mvc
모델과 c백엔드에서 다뤄야할 것을 구분해서 코딩하는것.
- sungjukForm.jsp Run

- sungjukList.jsp Run

출력방법

- jsp 코드로 출력하는 방법
- javascript 코드로 출력하는 방법
- jsp코드로 출력하는게 더 편리하지만 mvc를 지켜서 프론트는 프론트단에서 코드작업을 하고 백엔드는 백엔드 단에서 코드를 작업해야한다.
- 현업에선 이렇게 코딩하지않음
List - uname에 링크걸기
- sungjukList.jsp

- sungjukList.jsp Run

- sungjukRead.jsp

↳ sungjukRead.jsp는 아직 생성하지 않았기때문에 404오류가 나오는게 정상이다.
링크에 변수 넣기

- 독립된 페이지가 서로 연결되어있는 것처럼 보이게하는 방법은 페이지가 가지고 있는 값을 주면된다. (전달값)
- 부모페이지가 자식페이지에게 값을 넘겨줘야한다.
- 내가 가지고있는 값을 상대방 페이지에 넘겨준다.
- sungjukList.jsp

↳ 값에 저 select의 sno 변수를 넣어주면 된다.

%>
<tr>
<td><a href="sungjukRead.jsp?sno=<%= rs.getInt("sno")%>"><%= rs.getString("uname") %></a></td>
<td><%= rs.getInt("kor") %></td>
<td><%= rs.getInt("eng") %></td>
<td><%= rs.getInt("mat") %></td>
<td><%= rs.getString("wdate").substring(0, 10) %></td>
</tr>
<%
- sungjukList.jsp Run 확인

↳ url에 sno 값이 들어간다.
sungjukRead.jsp?sno=3 값 받아오는 법
- sungjukRead.jsp

↳ sno=? 이 값을 담아서 변수에 저장해준다.
- sql문 작성

- if문 작성

- sungjukForm.jsp Run

- sungjukList.jsp Run

- sungjukRead.jsp Run

주소 한글로 출력
- sungjukRead.jsp

- sungjukRead.jsp Run

수정/삭제 페이지
- 버튼 추가

- sql문 분석

↳ sno=? 이 값을 form페이지에 넘겨주는 것이다.
↳ pk값을 넘겨줘야한다.
- sql문 흐름 sno값 넘기는 것

- 이 값을 넘겨주면 된다.


- 수정버튼 파일뒤에 ?변수=값 을 넣어준다. (형식)

- 수정버튼 파일뒤에 ?변수=값 을 넣어준다. (적용)

- sungjukDel.jsp URL에 값이 들어간다.

- sungjukUpdate.jsp URL에 값이 들어간다.

성적 삭제 sungjukDel.jsp
성적 수정
- sno 변수, sql문 추가하기
회원수정 버튼누르면 그대로 내가 입력했던 내용이 출력되어야함.
- select 명령어부터 먼저해야함
- 수정하고자하는 데이터를 먼저 가져와야한다.
문제 분석
- ① sungjukUpdate.jsp
수정하고자하는 행을 DB에서 가져와서(select문 먼저 가져온다)sungjukRead.jsp, 사용자가 작성했던 내용을 그대로 성적폼에 출력하고 sungjukForm.jsp
- ② sungjukUpdateProc.jsp
사용자가 다시 입력한 내용으로 수정해야한다. (update문은 이 순서에서 update문을 사용해야한다.)
① sungjukUpdate.jsp
sungjukRead.jsp 내용을 그대로 가져온다.

- sungjukForm.jsp에서 form태그 복사

- 그대로 sungjukUpdate.jsp에 있는 if문에 폼 붙여넣기

- ② sungjukUpdateProc.jsp를 위한 작업

-value값 추가. rs=result값을 넣어준다.

- 확인작업 / 결과가 폼에 그대로 나타난다.


수정 주소

만약 멍청이가 주소를 제주로 설정해두었다면 주소가 제주도록 먼저 보이도록 설정해야한다.

if문으로 checked==true 로 주면 선택한 주소가 보이도록 설정해줄 수 있다.
- 주소부분 코딩

- 주소수정 확인

- 주소에 선택되어졌던 주소가 보여진다.

② sungjukUpdateProc.jsp 생성 (여기서 진짜 수정 Update문)
1. 한글 인코딩

2. sungjukUdate.jsp에서 사용자가 입력한 정보 가져와서 변수에 담기

3. update sql문 작성


그럼.. 끝...임..
나에게 주는 과제..
오늘
sungjukUpdateProc.jsp
이거 분석하기..
그리고..
부트스트랩으로 꾸미기
내일 배울 것.. bin ..? 예습해야겠다

오늘거 복습하지 않으면 내일거.. 배우기 힘들다하네요....