KIC/JSP
day42 - JSP(model1/model2, 표현식, include 페이지, form)
바차
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