1. sjvo생성 하기
정보저장, 게터세터 만들기
2. dao 만들기 (데이터 베이스 접근해서 정보들을 모두 채워줄 수 있도록 )
dao에 sjdao라고 조회하고자 하는 테이블마다 따로따로 만드는게 좋음
dao에서 싱글톤 준비 _single하고 생성
_select 셀렉트로 성적테이블 전체적으로 조회
제네릭을 vo로 줘서 내용을 가져올 수 잇게
sql문을 sugntb_view로 조회해야 모두 가져올 수있음
3.student.jsp만들기
//학생 성적 정보를 조회해서 테이블로 표현
vo.setNo(rs.getInt("no")); 처럼 요소를 가져올 수있게 해준다
삭제 버튼을 눌렀을 떄 지우고싶은 학생의 번호를 지울 수 있도록 하는 준비단계
<td>
<input type="button" value="삭제" onclick="del('<%= vo.getNo() %>');">
</td>
함수를 거치지 않고 (파라미터필요없음) sung_input.jsp로 화면이 전환된다.
<tr align="center">
<td colspan="9"><input type="button" value="학생정보 추가"
onclick="location.href='sung_input.jsp'"></td>
</tr>
4. sung_input.jsp 만들기
성적등록 화면 테이블 만들기
html 화면을 구현한다
form 태그 안에 테이블을 만들어서 테이블이 this.form으로 파라미터를 넘길 수 있도록 한다.
input태그 안에 name을 지정해줘서 들어가야할 데이터들이 함께 넘어갈 수 있도록 한다.
<input type="button" value="등록" onclick="send(this.form);">
--> //script영역에서 send메서드 만들기
페이지 전환을 통해서 학생 페이지로 돌아가기
onclick="location.href='student.jsp'
script에서 send메서드 만들기
f.action = "sung_register.jsp"; --> 어디로 파라미터를 보낼지 지정
--> sung_register.jsp?name=홍길동&kor=100&eng=90&mat=95
sung_register.jsp로 성적등록페이지로 파라미터 넘기기
f.submit(); --> 파라미터를 보내기
5. sung_register.jsp만들기
<% request.setCharacterEncoding("utf-8"); 로 파라미터의 언어를 utf-8로 변경
sung_input.jsp로부터 넘겨받은 성적등록페이지의 파라미터 수신
String name = request.getParameter("name");
int kor = Integer.parseInt(request.getParameter("kor"));
등록에 필요한 새로운 성적 정보의 객체를 생성한다.
SjVO vo = new SjVO();
vo.setName(name);
정보를 db에 넣으려면 dao를 거쳐야한다
dao로 넘어와서 성적을 조회하는메서드 말고 성적을 만들어주는 메서드를 따로 만들어준다
_insert로 생성
(인서트, 업데이트 , 딜리트를 한번에 관리 가능함)
public int insert(SjVO vo) {
SjVO vo객체로 받는다
String sql = "insert into sungtb values(seq_sungtb_no.nextVal,?,?,?,?)";
물음표자리에 무엇을 넣어야하지 아래try-catch //3.pstmt에서 정의해준다
pstmt parameter 채우기 (이름은 vo에서 가져올 수있음)
pstmt.setString(1, vo.getName()); -- 첫번째 물음표 자리에는 네임을 넣을거야
DB로 전송(res:처리된행수)될 부분
res = pstmt.executeUpdate();
-- > (성공했으면 성공한 행의 수만큼의 수로 넘어감:1이 아닌값이 넘어올 수도 있음) / 안되면 0
다시 sung_register에 돌아와서
//dao에 이름, 국영수 정보를 전달
int n = SjDAO.getInstance().insert(vo);
//등록에 성공했다면 student.jsp로 화면 전환
if(n == 1){
//location.href="student.jsp" --> js코드라 java안에서 못씀
response.sendRedirect("student.jsp"); //자바코드
}
=>학생정보를 입력한 뒤 등록을 누르면 student.jsp의
//학생정보를 조회해서 테이블로 표현
SjDAO dao = SjDAO.getInstance();
List<SjVO> sj_list = dao.selectList();
갱신이 되면서 student.jsp의 학생정보가 추가되는 화면이 보이게 된다!
5. sung_del.jsp 만들기(insert와 방식 같음)
student.jsp에서 삭제 확인 알람창 함수 만들기
del 함수를 사용해서 만들어준다.
=> 삭제 확인 버튼을 누르면 파라미터를sung_del.jsp로 보낸다
location.href="sung_del.jsp?no="+no;
dao에서 학생정보 삭제 메서드 만들기
//_delete 로 생성
String sql = "delete from SUNGTB where no=?";
물음표자리에 뭐 넣을지 다시 밑에서작업
//3.pstmt parameter 채우기
pstmt.setInt(1, no);
. sung_del.jsp 만들기
//. sung_del.jsp?no=1
//삭제할 학생번호를 dao에 전달
SjDAO.getInstance().delete(no);
response.sendRedirect("student.jsp")
삭제가 완료된 화면이 보임
5. sung_update.jsp 성적 수정 만들기
먼저 sturdent.jsp에서 수정 버튼 만들기
<input type="button" value="수정"
onclick="modify(this.form);">
버튼 만들기
<input type="button" value="수정"
onclick="modify('<%= vo.getNo()%>',
midify함수 만들어준다
function modify(no, name, kor, eng, mat) {
location.href =
"sung_update.jsp?no="+no+"&name="+name+"&kor="+kor+"&eng="+eng+"&mat="+mat;} //get방식으로 보내기
이렇게 넘어감
sung_update.jsp?no=1&name=일길동&kor=77&eng=88&mat=99
sung_update.jsp만들기
4번 학생의 이름 국영수에 바뀐게 있으면 수정하세요 라고 만들고싶음
<input type="hidden" name="no">
// 브라우저가 실행될때 가장먼저 실행되는 영역
수정버튼을 누르면 정보를 모두 갖고있는 상태가 된다
sung_update_result.jsp 만들기
//업데이트를위해 넘겨받은 파라미터를 vo로 묶는다
int no = Integer.parseInt(request.getParameter("no"));
SjVO vo = new SjVO();
vo.setNo(no);
//sjdao.java로 넘어가서 업데이트
//학생정보 수정
//_update
파라미터 타입으로 다섯가지를 묶어서 갖고있는 SjVO vo
String sql = "update SUNGTB set name=?, kor=?, eng=?, mat=? where no=? ";
where no=? ";누구인지만 알려주면 그걸 바꿔줄게
//3.pstmt parameter 채우기--> 물음표를 채우는 작업
pstmt.setString(1, vo.getName());
다시 sung_update_result.jsp 넘어와서
//dao에게 업데이트를 요청
SjDAO.getInstance().update(vo);
// 업데이트가 완료되면 student.jsp로 화면전환
response.sendRedirect("student.jsp");
변경된 값을 갖고 student.jsp로 돌아온다
'JSP' 카테고리의 다른 글
[JSP_11] JSON 표기법 (0) | 2023.03.20 |
---|---|
[JSP_10 중요] Ajax 비동기 통신 (0) | 2023.03.20 |
[jsp_05] JSP에서 JDNI연결 (0) | 2023.03.15 |
[JSP_04] 이클립스(eclipse)에서 (데이터 베이스)DB 연동하기 전 개발 환경 설정 / DBCP = maxActive (0) | 2023.03.14 |
[JSP_03] t_param 예제 (0) | 2023.03.14 |