Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

WON.dev

jsp.memo 본문

memo

jsp.memo

GAWON 2023. 6. 2. 18:10
JSP(Java Server Page)

6) 스크립트 요소
(1) <%@ 지시어 %>: 지시어 (Directive)
(2) <%! 선언부 %>	: 선언부 (Declaration), 전역 변수 선언, 메소드
(3) <%= 표현식 %>: 표현식(Expression), 결과 값 출력(변수값, 리턴값)
(4) <% 스크립트릿%>: 스크립트릿(Scriptlet), 일반 자바 코드

include 지시어
- 현재 페이지에 다른 페이지를 포함시킬 때 사용
- 형식
<%@ include file="footer.jsp" %>

4가지 영역★★★
(1) 데이터가 저장되는 4가지 영역(객체)가 있다.
(2) 영역에 따라 데이터가 유지되는 생명주기(life cycle)가 다르다.
(3) 4가지 영역(객체)(짧은 생명주기부터 순서대로!!)
	- pageContext 객체 
① 하나의 페이지를 처리할 때 사용하는 영역
② page 영역
③ 해당 페이지를 벗어나면 데이터가 삭제됨
- request 객체
① 하나의 요청을 처리할 때 사용하는 영역
② request 영역
③ response 하면 데이터가 삭제됨
- session 객체
① 하나의 웹 브라우저를 처리할 때 사용하는 영역
② session 영역
③ 웹 브라우저를 종료하면 데이터가 삭제됨 
- application 객체 
① 하나의 웹 애플리케이션에서 사용하는 영역
② application 영역
③ 웹 애플리케이션을 종료하면 데이터가 삭제됨

세션(session)
(1) 세션에 데이터 저장하기
- session.setAttribute("속성","값");
(2) 세션에 저장된 데이터 불러오기	
- session.getAttribute("속성");

request 객체의 정보 확인
<li>클라이언트 IP 주소(★) : <%= request.getRemoteAddr() %></li>
<li>요청정보 전송방식(★) : <%= request.getMethod() %></li>
<li>요청 URI(★) : <%= request.getRequestURI() %></li> <!-- getContextPath 이하 경로 -->
<li>요청 URL(★) : <%= request.getRequestURL() %></li>	 <!-- 전체 경로 --> 
<li>컨텍스트 경로(★) : <%= request.getContextPath() %></li>  <!-- 프로젝트명 -->

request 객체의 주요 메소드
<li>포워드: request.getRequestDispatcher("이동할경로").forward(request, response); </li>
<li>세션 얻기: request.getSession(); </li>
<li>파라미터 얻기: request.getParameter(); </li>  <!-- 단수 -->
<li>파라미터들 얻기(배열): request.getParameterValues(); </li> <!-- 복수 -->
<li>쿠키 얻기: request.getCookies(); </li>
<li>속성값 얻기: request.getAttribute("속성"); </li>
<li>속성값 저장하기: request.setAttribute("속성", 값);</li>

function send(f){
		f.action = '/chapter02_jsp/Ex05_02_receive.jsp';
		f.submit(); //함수
	}
submit으로 넘기면 

	//자바단
	request.setCharacterEncoding("utf-8");
	
	String name = request.getParameter("name");
	int age =Integer.parseInt (request.getParameter("age"));
	int tel =Integer.parseInt (request.getParameter("tel")); 
	String[] gender = request.getParameterValues("gender");  배열로 받을 수 있다
	String[] hobbies = request.getParameterValues("hobbies");
	String etc = request.getParameter("etc");
	String addr = request.getParameter("addr");
	String[] foods = request.getParameterValues("foods");
	String nickname = request.getParameter("nickname");

화면이동
<!-- 파라미터 전달 o -->
<a href="Ex06_03_page_move.jsp?name=<%=name%>&age=<%=age%>">파라미터 o</a><!-- get방식은 가능 -->
	
<br><hr><br>
	
<%--2. location 객체로 이동하기 --%>
<button onclick="location.href ='Ex06_03_page_move.jsp'">파라미터 x</button>
<button onclick="location.href ='Ex06_03_page_move.jsp?name=<%=name%>&age=<%=age%>'">파라미터 o</button>
	
	
<br><hr><br>
	
<%-- 3. 포워드로 이동 --%>
<!-- 데이터를 같이 전송할 때 포워드 방식 사용, 화면 이동 됐으나 주소가 이동되지 않음 -->
<%
      //request.getRequestDispatcher("Ex06_03_page_move.jsp").forward(request, response);
 %>
   
<%-- 4. 리다이렉트로 이동 --%>
<!-- 특징: 원칙상 파라미터 담지 못하고 이동, 대신 편법은 사용 가능 -->
 <%
      response.sendRedirect("Ex06_03_page_move.jsp");
 %>

서블릿 Servlet
서버

액션 태그
자바빈(VO,DAO)

쿠키
클라이언트(웹 브라우저)가 관리하는정보
쿠키(팝업창)는 클라이언트가 관리, 세션은 서버가 관리(user)

EL
표현방식
${변수값}

JQ
표현방식
$(  )

MYbatis
표현방식
#{  }

 EL 내장객체 중 파라미터를 사용하는 경우 param, paramValues를 사용
				     (변수)      (배열)	
	6) EL 연산자
		(1) 산술 연산자 
			- +	: 더하기
			- - 	: 빼기
			- div : a를 b로 나눈 몫
			- mod : a를 b로 나눈 나머지 
	 	(2) 비교 연산자  
			- eq 	: == 같다  .
			- ne 	: != 같지않다.
			- gt 	: > 크다.
			- lt 	: < 작다.
			- ge 	: >= 크거나 같다.
			- le	: <= 작거나 같다.
		(3) EL 논리 연산자
			- and : && 그리고
			- or 	: || 또는  
			- not : ! 아니다
		(4) empty 연산자(empty 값)
			- 값이 null이면 true 리턴
			- 값이 빈 문자열("")이면 true 리턴
			- 값의 길이가 0인 배열이면 true 리턴
			- 값이 빈 Map이면 true 리턴
			- 값이 빈 Collection이면 true 리턴


JSTL(자료파일이 필요함)

(1) core	변수, 제어문    c(접두어)	http://java.sun.com/jsp/jstl/core
core 라이브러리		
	1) 변수 지원
		(1) set		: 변수 선언 (EL의 setAttribute)
		(2) remove	: 변수 삭제 (EL의 removeAttribute)
	2) 제어문 지원
		(1) if		: else는 없다.
			<c:if test="조건"></c:if>
		(2) choose	: 다중 if 처리
		(3) forEach	: 루프, 컬렉션 루프  		
		(4) forTokens: 구분자(delim)로 데이터를 분리(토큰 생성)
	3) URL 지원
		(1) import	: <jsp:include> 와 동일 (다른 동적 페이지 포함)	
		(2) redirect	: 리다이렉트
	4) 기타
		(1) out 	: 출력
		(2) catch	: 예외 처리

조건문,반복문 chapter에서 확인

DB
<1.전체검색>
select * from green where id=?
매개변수 : string
리턴타입 : vo

<2.회원조회>
select * from green where id=#{id}
매개변수 : string
리턴타입 : vo

<3.회원추가>
insert into green values(green_seq.nextval, #{id}, #{pw}, #{name}, #{age}, #{addr}, sysdate)
매개변수 : vo
리턴타입 : int

<4.회원삭제>
DELETE FROM green WHERE id=#{id} and pw=#{pw}
매개변수 : vo
리턴타입 : int

<5.회원수정>
update green set pw=#{pw} ,name=#{name} ,age=#{age} ,addr=#{addr} where idx=#{idx}
매개변수 : vo
리턴타입 : int

'memo' 카테고리의 다른 글

oracle/java연결  (0) 2023.06.02
oracle.memo  (0) 2023.06.02
java.memo  (0) 2023.06.02