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