반응형

JSP 자바빈즈는 하나의 jsp 페이지에 사용되는 것이 아닌 여러 jsp페이지에서 호출하여 사용 가능합니다. 다른 자바 클래스와 마찬가지로 자바 객체입니다.

 

빈 쓰는 이유는 다음과 같습니다.

- jsp가 뷰를 위한 아이이기 때문에 비즈니스 모델을 빼기 위함

 

beans 호출 형태

<jsp:useBean id="아이디" class="자바 빈즈 객체의 실제 클래스명을 패키지명 포함하여 작성" scope="page" />

 

breans를 이용하여 구구단을 출력해보겠습니다.

 

HTML

1
2
3
4
5
6
7
8
<body>
beans를 이용한 구구단 출력<br>
<form action="j8beans.jsp" method="post">
몇단?
<input type="text" name="dan" value="2">
<input type="submit">
</form>
</body>
 

 

JSP

 

1
2
3
4
5
6
7
8
9
10
11
12
13
<body>
    <hr>
    ** Beans로 구구단 출력 **
    <br>
    <jsp:useBean id="gugu" class="pack.j8gugudan" scope="page" />
    <!-- 경로 풀로 다 적어줘야함 -->
    <%
        int re2[] = gugudan.computeGugu(dan);
        for (int a = 0; a < 9; a++) {
            out.println(dan + " * " + (a + 1+ " = " + re2[a] + "&nbsp;&nbsp;");
        }
    %>
</body>
 

 

JAVA

컨트롤러 안에 있는 패키지 pack 안에 있는 j8gugudan.java입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package pack;
 
public class j8gugudan {
    public static j8gugudan gugudan = new j8gugudan();
    public static j8gugudan getInstance() {
        return gugudan;
    }
    
    public j8gugudan() {
        
    }
    
    public int[] computeGugu(int dan) {
        int gu[] = new int[9];
        
        for(int i = 1; i < 10; i++) {
            gu[i - 1= dan * i;
        }
        
        return gu;
    }
}
 
 

 

 

출력 결과

 

반응형

'JSP·Servlet' 카테고리의 다른 글

JSP 내장 객체  (0) 2020.05.03
JSP 에서 사용하는 태그  (0) 2020.05.03
JSP란 ?  (0) 2020.05.03
반응형

- 내장 객체란?

JSP 파일이 자바 소스 파일로 변환될때 _jspServiece 메소드 내에 자동으로 선언 및 초기화하는 변수를 뜻합니다.

 

- request, response

 

request = HttpServeletRequest 타입으로 요청 정보 처리

response = HttpServletResponse 타입으로 응답 정보 처리

 

예제 )

 

html

1
2
3
4
5
6
7
<body>
<br>
<form action="irum.go" method="post">
자료 입력 : <input type="text" name="data">
<input type="submit">
</form>
</body>
 

 

jsp

1
2
3
4
5
6
7
8
9
<body>
<br>
<%
request.setCharacterEncoding("utf-8");
 String data = request.getParameter("data");
 
%>
<%=data %>
</body>
 

 

출력 결과

 

 

- Session

 

session은 javax.servlet.http.HttpSession의 내장 객체로 클라이언트마다 하나씩 생성, 정보 유지시 사용합니다.

 

ex ) 

 

HTML

1
2
3
4
5
6
7
8
<body>
* 자료 입력 *
<br>
<form action="j6session2.jsp" method="post">
id : <input type="text" name="id"><p/>
<input type="submit" value="로그인">
</form>
</body>
 

 

JSP1

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%
request.setCharacterEncoding("utf-8");
String id = request.getParameter("id");
session.setAttribute("idkey", id);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>세션 연습 중</h2>
<form action="j6session2.jsp" method="post">
 
<input type="submit" value="결과보기">
 
</form>
</body>
 

 

jsp2

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>선택 결과 보기</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String id = (String)session.getAttribute("idkey");
if(id != null) {
%>
<%=id %> 님입니다.<br><br>
세션 아이디 : <%=session.getId() %> <br><br>
<%
else {
    out.println("이미 연결 되어있습니");
}
%>
</body>
</html>
 

 

Html 에서의 name ="id"는 jsp1의 3번째 줄로 가서 4번째쭐의 session.Attrivute "idKey"에 저장됩니다. 그 후 결과 보기를 다시 눌러주면 jsp2의 12번째줄로 넘어갑니다.

이후 15번째 줄에 html에서 읿력한 id 값이 출력 됩니다.

 

출력 결과는 다음과 같습니다.

 

 

반응형

'JSP·Servlet' 카테고리의 다른 글

JSP Beans  (0) 2020.05.03
JSP 에서 사용하는 태그  (0) 2020.05.03
JSP란 ?  (0) 2020.05.03
반응형

- 주석

 

JSP 에서는 JSP HTML 자바를 주로 사용합니다.

JSP <%-- 내용 --%>
HTML <!-- 내용 -->
자바 주석

한 줄의 경우 //

여러 줄의 경우 /* 내용 */

 

- 지시자

지시자는 JSP 컨테니어가 JSP 페이지를 파싱하여 자바 소스로 변환시 필요 정보를 알려주기 위함

 

<%@ 지시자 속성 = 값 %> 으로 사용할 수 있습니다.

 

지시자 종류 : page, include, taglib

 

- 스크립트

스크립트는 jsp 페이지가 요청될 때마다 수행되어야 하는 자바 코드를 추가할때 사용

<% 실행문 %> 으로 사용합니다.

 

아래와 같이 사용 가능합니다 !

1
2
3
4
5
6
7
8
9
10
11
12
13
<body>
    <h2>jsp 출발</h2>
    <%
        for (int i = 1; i < 7; i++) {
            out.print("<h" + i + ">");
            out.print("jsp");
            out.print("</h" + i + ">");
        }
        out.println("<br>출력 자료");
    %>
    <br>
</body>
 

 

위 소스의 출력 결과는 다음과 같습니다.

 

 

* JSP의 변수를 JS에 전달하는 방법은 다음과 같습니다.

<% String Name = "Hong"; %>

 

<script>

var Name = "<%=Name%>";

</script>

 

하지만 ! 반대로 JS 변수를 JSP로 넘겨주지는 못합니다 !

- 선언문

<%! 변수 %> 또는 <%! 메소드 %> 으로 사용합니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<body>
    <%! 
        // <%!는 클래스의 멤버필드로 전역변수로 사용
        String tel = "02-111-1111";
    %>
    
    
    <%! // !붙이면 메소드의 멤버변수가 아니라 클래스의 멤버변수
    public int add(int m, int n) {
        return m+n;
    }
    %>
</body>
 
 

 

반응형

'JSP·Servlet' 카테고리의 다른 글

JSP Beans  (0) 2020.05.03
JSP 내장 객체  (0) 2020.05.03
JSP란 ?  (0) 2020.05.03
반응형

JSP란?

 

JavaServer Pages의 줄임말로 동적인 웹 콘텐츠를 생성하기 위한 웹 APP 개발 도구.

 

- jsp는 프로그램적 명령문만 컨테이너가 해석하고, HTML 관련 태그는 그대로 출력되기 때문에 별도의 과정을 거치지 않아도 무방합니다.

 

- jsp는 동적인 데이터를 끼워 넣는 것이 가능합니다.

 

ex ) 제가 공부했던 내용의 일부를 가져왔습니다.

 

1
2
3
4
5
6
7
<body>
<br>
<%
String data = (String)request.getAttribute("key");
%>
</body>
 
 

 

이와 같이 내장 객체 request를 이용하여 동적인 데이터 추가가 가능합니다. 

 

JSP의 장점

 

- 역할 분리가 가능합니다. 서버와 작용하는 컴포넌트를 담당하는 역할과, 정적인 데이터와 동적 데이터를 섞어 웹을 만드는 역할로 나누어질 수 있습니다.

 

- bean 컴포넌트와 태그 라이브러리에 기반을 두고 재사용성을 강조하여 효율적으로 작업을 하게 도와줍니다.

 

JSP의 동작 원리

 

 

반응형

'JSP·Servlet' 카테고리의 다른 글

JSP Beans  (0) 2020.05.03
JSP 내장 객체  (0) 2020.05.03
JSP 에서 사용하는 태그  (0) 2020.05.03

+ Recent posts