ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.