-
day42 - JSP(model1/model2, 표현식, include 페이지, form)KIC/JSP 2021. 8. 13. 01:45반응형
[model1/model2]
- 프론트 엔드 단과 백엔드 단을 분리하지 않는 것이 model1, 분리하는 것이 model2 이다.
- JSP는 model1이고, mvc는 model2이다.
[JSP]
- 자바 기반의 스크립트 언어
- 자바의 기능을 그대로 사용 가능하다.
- HTTP에 대한 클라이언트의 요청 처리/응답 가능
- 웹 어플리케이션에서 결과 화면을 생성할 때 주로 사용한다.
JSP 는 백앤드단 과 뷰단이 같은 페이지에서 나뉘어져 있다.
백앤드 단은 <%%> 안에 넣어서 수행하고
뷰 단은 html 태그를 활용해 출력한다.
[표현식]
- 값을 출력 결과에 포함시키고자 할 때 사용한다.
- 포현식 구문
<%=값%>
[include 페이지]
includeDirectiveEx1.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <html> <head> <title>페이지 포함</title> </head> <body> <%-- jsp 지시어 : <%@ .. %> page 지시어 : 현재 페이지의 특징을 속성을 통해서 설정. <%@ page 속성=속성값 ..... %> include 지시어 : 다른 페이지의 내용을 포함하는 기능. => 서블릿부분에서 내용을 합하여 출력한다. (변수 공유 가능) <%@ include file="페이지명" %> taglib 지시어 : 커스텀 태그를 설정. EL, JSTL 부분에서 설명. <%@ taglib prefix="...." url="...." %> --%> <% String msg = "includeDirectiveEx1.jsp 페이지의 msg 변수 입니다."; %> <h1>includeDirectiveEx1.jsp 페이지 입니다. </h1> <%@ include file="includeDirectiveEx2.jsp" %> <h2>include Directive(지시어)는 includeDirectiveEx1.jsp 페이지에서 includeDirectiveEx2.jsp 페이지의 내용을 합하여 결과를 출력합니다.<br> includeDirectiveEx1.jsp 와 includeDirectiveEx2.jsp 페이지는 하나의 서블릿으로 변환됩니다. 즉 하나의 자바 파일로 만들어 지므로 변수 공유가 가능합니다.</h2> </body> </html>
includeDirectiveEx2.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <hr> <h3>includeDirectiveEx2.jsp 페이지 입니다. <br> includeDirectiveEx1.jsp 페이지에 포함되는 페이지 입니다. 서블릿에서 하나의 파일로 생성 되므로 변수의 공유가 가능합니다. </h3> <hr>
[form]
- form 을 통해서 값을 전달 할 수 있다.
- 받는 페이지에서는 request를 통해서 값을 받는다.
form.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <html> <%-- 1) http://localhost:8080/jspPro/chap03/form.jsp 자료 입력후에 2) action = http://localhost:8080/jspPro/chap03/viewParameter.jsp request 입력되어 있음 String name = request.getParameter("name"); String[] values = request.getParameterValues("pet"); Enumeration paramEnum = request.getParameterNames(); Map parameterMap = request.getParameterMap(); --%> <!DOCTYPE html> <head> <title>폼 생성</title> </head> <body> name 속성으로 입력한 내용이 전송됨 <form action="viewParameter.jsp" method="post"> 이름: <input type = "text" name = "name" size = "10"> <br> 주소: <input type = "text" name = "address" size = "30"> <br> 좋아하는 동물: <input type="checkbox" name = "pet" value="dog">강아지 <input type="checkbox" name = "pet" value="cat">고양이 <input type="checkbox" name = "pet" value="pig">돼지 <br> <input type="submit" value="전송"> </form> </body> </html>
viewParameter.jsp
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@page import = "java.util.Map"%> <%@page import = "java.util.Enumeration"%> <!DOCTYPE html> <html> <%-- 1) http://localhost:8080/jspPro/chap03/form.jsp 자료 입력후에 2) action = http://localhost:8080/jspPro/chap03/viewParameter.jsp request 입력되어 있음 String name = request.getParameter("name") String[] values = request.getParameterValues("pet"); Enumeration paramEnum = request.getParameterNames(); Map parameterMap = request.getParameterMap(); --%> <head> <title></title> </head> <body> <%request.setCharacterEncoding("EUC-KR");%> <% String name = request.getParameter("name"); String address = request.getParameter("address"); String[] values = request.getParameterValues("pet"); Enumeration paramEnum = request.getParameterNames(); Map parameterMap = request.getParameterMap(); %> <b>request.getParameter() 메서드 사용 </b><br> name : <%=name%> <br> address : <%=address%> <br> 동물: <% if(values!= null){ for(String str : values){ %><%=str%>,<% } } %> </body> </html>
300x250'KIC > JSP' 카테고리의 다른 글
day46_1 - JSP(jstl, if 태그, forEach) (0) 2021.08.19 day45 - JSP(jdbc 연결, JSP의 4가지 영역, EL Object) (0) 2021.08.19 day44 - JSP(쿠키, jdbc 연결) (0) 2021.08.17 day43 - JSP(GET 방식, for문 예제, request 내장 객체, response 내장 객체) (0) 2021.08.13 JSP - VScode 환경에서 인코딩 오류(한글 깨짐/ <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 오류) (0) 2021.08.12