request 내부객체의 다양한 메소드
입력 파일
<body>
<form action="09_requestok.jsp">
아이디:<input type="text" name="uid">
<br>
<input type="submit" value="request내부객체">
</form>
</body>
결과 파일
톰캣 IPv4 지정하기
IP주소 6자리 -> 4자리변경
이클립스 -> Run -> Run Configurations -> Tomcat Server -> (x)=Arguments -> VM arguemnts에 아래와 같이 추가 -> 공백1칸 주고 -Djava.net.preferIPv4Stack=true -> Apply
1) 한글 인코딩
UTF-8 : 조합형
EUC-KR : 완성형,MS949
대소문자 구분 없음
<%
request.setCharacterEncoding("UTF-8");
%>
2) 사용자가 입력한 정보 가져오기
name 이름 가져오기
<%
out.println(request.getParameter("uid"));
%>
3) 요청한 사용자의 다양한 정보
<%
out.println(request.getRemoteAddr()); //요청한 pc의 ip 정보
out.println(request.getRemoteHost()); //host의 ip
out.println(request.getRemotePort()); //port번호
%>
<%
out.println(request.getContextPath()); //a
out.println(request.getRequestURI()); //b
out.println(request.getRequestURL()); //c
%>
결과값!! 중요!!
a) 해당 프로젝트 이름
/basicWeb
b) 사용자가 요청한 명령어만
/basicWeb/basic/09_requestok.jsp
c) 사용자가 요청한 명령어 전체
http://localhost:8090/basicWeb/basic/09_requestok.jsp
<%
//둘 다 같은 의미
out.println(request.getRealPath("/basic"));
out.println(application.getRealPath("/basic"));
%>
내 컴퓨터 입장에서 basic 폴더의 실제 물리적 경로
아래 경우는 이클립스에서 톰캣서버를 실행한 경우
d:\
D:\java0514\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\basicWeb\basic
<%
request.setAttribute("user", "korea");
//내부변수의 리턴형은 Object이므로 형변환해서 사용한다
Object obj=request.getAttribute("user");
String str=(String)obj;
out.println(str);
%>
내부변수
request.setAttribute(“변수명”,값); request.getAttribute(“변수명”);
성적입력 및 출력, 테이블에 저장
성적테이블을 만들어 (SQL문) 사용자에게 입력을 받고 출력하기
[성적테이블 CRUD]
sungjukForm.jsp : 성적쓰기 -> sungjukIns.jsp
sungjukList.jsp : 성적목록 –(sno 넘겨주기)–> sungjukRead.jsp 상세보기페이지
-> 수정(sungjukUpdate.jsp) / 삭제(sungjukDel.jsp)
- 연결고리가 생기는 거지 각각 독립적인 페이지
- 상세보기, 수정, 삭제 페이지는 PRIMARY KEY가 와야함. (이번 테이블에서는 sno)
[페이지 이동]
- <a href=””></a> : 무조건 get 방식
- location.href=””
- <form action=””>
- <jsp:forward page=””></jsp:forward>
성적테이블 작성(sungjuk.sql)
이클립스에서도 .sql을 만들 수 있다. 단, 실행은 cmd -> sqlplus 나 developer를 통해서 실행한다.
사용자에게 입력받을 만한 컬럼은 uname, kor, eng, mat, addr 정도이다.
입력폼은 5개 정도 필요하다
1 |
|
기존에 테이블이 있었다면 삭제한다. (DROP TABLE sungjuk;) 그리고 행을 삭제하고 행 갯수가 0이어야 한다.
성적 입력 폼(sungjukForm.jsp)
이름, 국어, 영어, 수학, 주소를 입력받을 폼이다.
1 |
|
성적 출력 (sungjukIns.jsp)
1 |
|
이렇게 변수에 저장해서 쓰는게 편하지만 이번 실습에서는 저장하지 않고 바로 사용했다.
1 |
|
저장된 성적 리스트 불러오기(sungjukList.jsp)
1 |
|
상세보기 페이지 (sungjukRead.jsp)
SQL문
1 |
|
1 |
|
공통 페이지(ssi.jsp)
보통 공통적으로 들어가는 코드들을 작성한다.
1 |
|
공통페이지 연결
다른 페이지와 다르게 공통페이지를 연결한다.
1 |
|
액션태그
1 |
|
삭제 페이지(sungjukDel.jsp)
1 |
|
수정 페이지1 (sungjukUpdate.jsp)
SQL문
1 |
|
수정하고자 하는 행을 가져와서 -> SELECT문 (sungjukRead.jsp문 참조)
폼에 출력하고 -> sungjukForm.jsp 참조
해당 데이터를 수정한다. -> UPDATE문
그래서 수정 페이지는 2개 필요함 (sungjungUpdateProc.jsp)
1 |
|
수정페이지2 (sungjukUpdateProc.jsp)
1 |
|