반응형

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
반응형

주의 ! 티스토리 광고 승인 메일이 오신분만 가능하십니다 !

( 메일이 아니더라도 접속하면 승인되었다는 화면이 나타나야합니다 ! )

 

자, 그럼 이제 단계별로 적용하는 방법을 설명드리겠습니다.

 

사진대로 따라와주시기 바랍니다.

 

1) 왼쪽 사이드 메뉴에서 광고 -> 개요 클릭 후 가운데 광고 단위 기준을 눌러주면 다음과 같은 화면이 나타납니다

 

2) 가운데 메뉴 중 일반적으로 사람들이 많이 사용하는 디스플레이 광고를 눌러줍니다.

 

3) 다음과 같은 화면이 나타나면 광고 단위 이름 설정에 자신이 알아보기 쉬운 제목명을 정해줍니다.

 

사각형은 블로그 글들을 보시다보면 화면 모서리 방향에 주로 사용하며,

 

수평형은 상하단 또는 중간에 1-2줄의 내용이 들어갈만한 크기로 나타나며

 

수직형은 사이드에 쓸 경우 주로 사용합니다.

 

3가지 형태중  결정하셨다면 오른쪽 광고 크기를 반응형으로 설정 후 만들기를 눌러줍니다.

 

 

4) 이와 같은 화면이 뜬다면 아직까지 문제 없이 순조롭게 진행되고 계신겁니다.

 

이제 화면에 나타난 코드복사를 눌러줍시다.

 

 

5) 다시 자신의 블로그로 돌아와서 플러그인 메뉴로 들어가줍니다.

 

 

 

6) 다음과 같은 아이콘을 클릭해줍니다.

 저는 현재 사용중이라 사용중으로 표시되고있습니다 ~

 

 

 

7) 원하시는 위치를 클릭해주시고 위에서 복사한 코드를 붙여넣기 해주도록합시다.

 

* 광고 형태를 보시면 수평형으로 해야 깔끔한 것을 알 수 있습니다. 참고해주세요~

 

저는 3번째 형태로하여 코드 복사넣기하고 출력하였습니다

 

 

 

적용한 제 블로그 결과)

 

노란형관펜으로 표시한 것과 같이 깔끔하게 출력되는 것을 알 수 있습니다.

 

 

 

블로그 수익내는 것이 쉽지 않지만 다들 유익한 글 많이 올리시고 성공하시면 좋겟습니다 !

반응형
반응형

우선 에드센스 홈페이지 접속해서 가입을 해주도록 합니다.

 

애드센스 해당 링크는 여기로 << 클릭 또는 링크를 걸어두겠습니다.

 

https://www.google.co.kr/adsense/start/#/?modal_active=none

 

웹사이트로 온라인에서 수익 창출 | Google 애드센스 – Google

Navi Series 일본의 온라인 디렉토리가 지역 업체를 홍보하고 커뮤니티를 형성하는 데 도움을 줍니다. Kenji Shinjo 씨는 애드센스를 사용하여 비즈니스가 성공하도록 콘텐츠에 집중할 수 있습니다.

www.google.co.kr

 

 

첫 번째 단계

 

다음과 같은 창이 뜨면 초록색 '지금 가입하기' 버튼을 눌러줍시다!

 

 

두 번째 단계

 

다음과 같은 화면이 나타나게 되면 광고를 나타나게 하고 싶은 자신의 블로그 주소를 웹사이트 부분란에 작성해줍니다.

 

이메일 주소에는 자신이 사용하는 이메일 주소를 입력해주시면 됩니다.

 

'등록한 이메일 주소로 유용한 애드센스 정보를 받아보세요'

 

이 체크란 같은 경우 저는 사용하는데 괜찮을 거 같아서 사용하겠다에 체크하였습니다.

 

세 번째 단계

 

 

 

이 화면까지 자신의 정보에 맞게 작성해주시면 되겠습니다!

 

네 번째 단계

 

에드센스 코드를 자신의 블로그에 적용!

 

 

에드센스 코드 부분을 복사하여서 자신의 블로그에 추가하여야 합니다.

 

밑에 복사하기 버튼을 클릭하면 자동 복사가 됩니다.

 

복사 후 자신의 블로그의 관리로 들어가서 스킨 편집을 눌러줍니다.

 

 

 

 

 

 

HTML 편집을 클릭!

 

 

 

 

 

다음과 같이 <head> 바로 뒤에 커서를 두고 엔터 누른 후에 Ctrl + V를 눌러주시면 에드센스 코드가 붙여 넣기 되고 빨간 동그라미 친 적용 버튼 클릭하시면 끝!

 

 

후기!

 

저 같은 경우 블로그를 시작한 지 얼마 안 되었지만 광고수입이라는 키워드에 접하게 되어 저도 한번 신청하게 되었습니다.

 

 

주변에서 1000자 이상의 최신 글이 최소 3개 이상 존재해야 한다고 들었고,

 

사진이나 그림만 붙여 넣은 글들은 거절 사유가 된다는 글을 신청한 당시 보게 되어

 

부랴부랴 제가 공부한 내용을 다시 직접 타이핑해서 적고 기다렸네요!

 

( 문제는 사진 캡처를 사용하고 해당 문제를 푼 답만 제가 타이핑하다 보니 1000자가 안될 거 같더라고요 )

 

2일 정도 소요 후 메일이 날아오더라고요~

 

공부 겸 블로그를 시작하기도 하였지만 광고 수입도 생기면 일석이조!

 

블로그 새로 시작하시는 분들은 해당 글을 보고 신청하는데 많음 도움이 되시면 좋겠습니다.

 

설정 방법은 다음에 포스팅 하도록 하겠습니다.

 

반응형

'광고신청' 카테고리의 다른 글

티스토리 광고 빠른 적용 방법 !  (0) 2020.03.11
반응형

SQL문은 크게 DML , DDL , DCL로 분류 가능합니다.

 

DML은 데이터를 조작하는데 사용되는 언어로

SELECT / INSERT / UPDATE / DELETE 가 이 구문에 해당된다.

 

DDL은 데이터베이스 / 테이블 / 뷰 / 인덱스 등의 데이터베이스 개체를 생성 / 삭제 / 변경하는 역할을 한다.

자주 사용하는 DDL은 CREATE , DROP ,ALTER가 있다.

 

DCL은 사용자에게 권한을 부여하거나 빼앗을 때 주로 사용한다.

GRANT / REVOKE / DENY 가 있다.

 

INSERT

데이터를 삽입하는 명령어

 

INSERT 형식

INSERT INTO 테이블 [ 컬럼의 부분을 추가할 경우 입력 ] VALUES (값들);

자동으로 증가시켜야할 경우 AUTO_INCREMENT를 사용해줍니다.

 

AUTO_INCREMENT 형식

CREATE TABLE 만들테이블명 (num int AUTO_INCREMENT PRIMARY KEY, ... 새로운 컬럼명2 조건2)

 

AUTO_INCREMENT로 지정할 때는 PRIMARY KEY 또는 UNIQUE 설정을 해주어야하고 데이터 형은 숫자 형식만 사용 가능합니다.

 

UPDATE

기존에 입력되어있는 데이터 값을 변경

 

UPDATE 형식

UPDATE 테이블명 SET 열1=값1 , 열2=값2 where 조건;

이전 글에서 작성했던 데이터베이스에서 'HongGildong'을 'ilGildong'으로 수정해보겠습니다.

 

1
UPDATE information SET irum='HongGildong' , irum='ilGildong' WHERE irum='HongGildong';

 

출력 결과

 

 

where 조건문을 사용하지 않는 경우 다음과 같이 전부 다 바뀌는 경우가 생기니 조심해주도록 합니다.

 

1
UPDATE information SET irum='HongGildong' , irum='ilGildong';

 

출력결과

 

DELETE

데이터를 삭제하는 명령어입니다.

 

DELETE 형식

DELETE FROM 테이블명 WHERE 조건;

 

조금전에 변경했떤 'ilGildong'을 삭제해보겠습니다.

1
DELETE FROM information WHERE irum='ilGildong';

 

출력결과

 

 

반응형

'SQL' 카테고리의 다른 글

[SQL] Mybatis XML 작성 시 SQL 별로 LIKE 동적 쿼리 사용 방법  (0) 2022.05.17
SQL 기본편 - SELECT  (0) 2020.03.06
반응형

SELECT문

 

- 데이터베이스 내의 테이블에서 원하는 정보를 추출하는 명령어

 

SELECT문 기본 형식

 

SELECT 열이름 FROM 테이블명 [where 조건] ;

[ ] 부분은 생략이 가능합니다. 

 

USE문

 

- SELECT문을 사용하기에 앞서 해당 테이블을 사용할 데이터베이스를 지정해서 접속하여야한다.

 

USE문 기본 형식

 

USE 데이터베이스명 ;

ex) 데이터베이스명이 user라면

USE user;

라고 입력해줍니다.

 

위와 같은 문장의 의미

user 데이터베이스를 사용하겠다.

지금부터 실행하는 쿼리문은 user DB에서 수행합니다.

 

간단한 예를 만들어보겠습니다.

 

서버에 존재하는 DB를 확인하는 명령어는 다음과 같습니다

 

SHOW DATABASES;

 

데이터베이스명과 테이블명은 제가 임의로 만들었습니다.

 

ex.sql

1
2
3
4
5
6
7
8
9
10
11
CREATE DATABASE USER;
 
 
CREATE TABLE information(num INT(4), irum CHAR(15), height INT(4));
 
INSERT INTO information VALUES (1'HongGildong'158);
INSERT INTO information VALUES (2'EGildong'180);
INSERT INTO information VALUES (3'SamGildong'177);
INSERT INTO information VALUES (4'SaGildong'169);
INSERT INTO information VALUES (5'OhGildong'188);
 
 

 

 

테이블을 만드는 명령어

 

CREATE TABLE 테이블명 (컬럼명1 데이터타입1, 컬럼명2 데이터타입2);

ex)

CREATE TABLE USER (num int(4), irum char(15));

 

 

데이터베이스명 : USER

테이블명 : information

 

1
2
3
USE USER;
 
SELECT * FROM information;

 

출력결과

 

 

* 해당 출력 결과는 제가 임의로 넣은 데이터입니다.

 

관계연산자 사용

 

- 번호가 3번 이후면서 키가 180 이상인 사람을 출력

해당과 같은 출력은 위에서 말씀드렸듯 SELECT문 뒤에 where 조건문을 추가해주어야합니다.

 

1
SELECT * FROM information WHERE num >= 3 AND height >= 180;

 

출력 결과

 

- 번호가 2번 이전이거나 키가 170 이상인 사람을 출력

이번 문제는 또는의 조건을 주었습니다.

1
SELECT * FROM information WHERE num <= 2 OR height >= 170;

 

출력결과

 

 

이번에는 그냥 AND가 아닌 BETWEEN AND와 IN, LIKE를 설명해보겠습니다.

- 키가 160 ~ 180 사이의 인원을 출력

 

위 문제처럼 다음과 같이 작성 가능하지만

1
SELECT * FROM information WHERE height >= 160 AND height <= 180;

이번에는 BETWEEN AND를 사용한다면

1
SELECT * FROM information WHERE height BETWEEN 160 AND 180;

다음과 같이 작성 가능합니다.

 

출력결과

 

이번에는 OR와 IN을 비교해보도록 하겠습니다.

- num이 1번 3번 5번을 출력

1
SELECT * FROM information WHERE num=1 OR num=3 OR num=5;

 

출력결과

 

OR을 연속적으로 사용하여 구분도 가능하지만

IN()을 사용할 수도 있습니다.

1
SELECT * FROM information WHERE num IN(1,3,5);

출력 결과는 위와 동일하게 나타납니다!

 

이번에는 LIKE연산자에 대해 설명해드리겠습니다.

 

예를들어 'Hong%' 인 경우 성이 'Hong' 이고 뒤에는 어떤 것이든 허용한다는의미이다. 이 말은 Hong이 맨 첫 글자에 있는 경우 다 출력한다.

 

다음으로 '_Gildong' 의 경우는 맨 첫 1칸은 아무 글자나 들어와도 상관없지만 뒤 나머지 글자가 Gildong으로 끝나는 경우를 출력해야 한다.

 

저의 경우 뒤에 글자가 다 Gildong이므로 'Hong_______'을 출력해보겠습니다. ( _ 를 7개 사용하였습니다.)

 
1
SELECT * FROM information WHERE irum LIKE 'Hong_______';

 

출력 결과

 

 

서브 쿼리

 

쿼리문 안에 또 다른 쿼리문이 존재하는 것을 뜻한다.

- 'SaGildong' 보다 키가 크거나 같은 사람을 출력

1
SELECT * FROM information WHERE height > (SELECT height FROM information WHERE irum = 'Sagildong');

 

출력결과

 

 

ORDER BY

조건이 주어지면 해당 조건에 따라서 순서대로 나열해준다.

 

키 순서대로 출력해보겠습니다.

1
SELECT * FROM information ORDER BY height;

 

출력결과

 

 

height 뒤에 DESC를 써주면 내림차순 정렬이지만 생략시에는 자동으로 ASC가 적용되어 오름차순으로 출력됩니다.

 

* 주의할 점 : ORDER BY절은 SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, 중에서 가장 뒤에 작성되어야한다.

 

LIMIT

출력 문장 개수에 제한을 주는 명령어입니다.

 

위 문장에서는 키 순서대로 5개의 데이터가 전부 출력되었지만 이번에는 LIMIT 조건을 3으로 주어보겠습니다.

1
SELECT * FROM information ORDER BY height LIMIT 3;

 

출력결과

 

 

추가 ! 테이블을 복사하는 방법 !

테이블 복사 형식

CREATE TABLE 새로운테이블명 (SELECT 복사할컬럼 FROM 복사할테이블)

 

information 테이블을 information2로 복사한 후 출력해보겠습니다.

 

1
2
3
CREATE TABLE information2 (SELECT * FROM information);
 
SELECT * FROM information2;

 

출력 결과

 

 

동일하게 출력되는 것을 알 수 있습니다.

복사할 컬럼 부분에 원하는 조건만 추가하여 복사도 가능합니다.

 

집계함수

 

집계함수 형식

SELECT 집계함수(집계할컬럼내용) FROM 테이블명;

 

SUM과 AVG

SUM은 말 그대로 합을 뜻하며, AVG는 평균값을 뜻합니다.

5명의 키를 다 더하여 평균을 계산해보겠습니다.

 

1
2
3
SELECT SUM(height) FROM information;
 
SELECT AVG(height) FROM information;

 

출력결과

 

 

또 다른 집계 함수를 정리해보았습니다.

 

함수명 설명
AVG() 평균값
MIN() 최소값
MAX() 최대값
COUNT() 행의 개수
COUNT(DISTINCT) 행의 개수를 센다.

 

 

반응형

+ Recent posts