전체 글

8DAY

2017. 4. 12. 10:05

하나의 클래스를 통해 새로운 객체를 생성하면 주소영역과 데이터영역이 생성된다.

주소를 찾아가서 데이터를 Set 할 수 있고, 주소를 찾아가서 Get할수 있다.


User uid = new User();

User 클래스의 데이터타입으로 uid객체참조변수 선언

User생성자메소드로 새로운객체 생성후 주소값을 uid객체참조변수에 할당



1) User클래스 데이터 타입으로 u01객체참조변수를 선언한다.

2) User생성자 메서드를 통해서 새롭게 객체생성한다

3) 새롭게 생성된 객체의 주소값을 u01 객체 참조 변수에 할당한다.

4) u_print 메서드를 호출한다.

5) u01 객체 참조변수에 저장된 주소값 1이 매개변수 getu 에 할당된다.

6) getu 할당된 주소값1을 찾아가서 데이터를 Get한다

7) 데이터를 출력한다.

8)  u01 객체 참조변수 안에 저장된 주소값1을 찾아가서 데이터를 Set한다.

9) u_print 메서드를 호출한다.



한 클래스 내에 Return 있는 메서드 선언




간단한 예제 만들기 

-로그인 화면


5DAY / JAVA기초문법

2017. 4. 7. 11:57

JAVA기초문법


1)하나의 Package - 하나의 Class 에서 메소드 선언 및 호출

2)하나의 Package - 서로 다른 Class 에서 메소드 선언 및 호출

3)서로 다른 Package - 서로 다른 Class 에서 메소드 선언 및 호출


메서드의 종류

1)return 유무

2)parameter 유무


->12개의 메소드 호출방법!


메소드 호출 원리

1)메소드명 일치

2)매개변수 갯수 일치

3)매개변수 데이터 타입에 각각 일치하는 값 입력


접근지정자(제어자) Access Modifier : public

private -> default -> protected -> public 순서로 많은 접근 허용


정적키워드 : static 또는 non-static


return data type : void(리턴없다)


메서드명 :test


첫번째 매개변수 data type : String

첫번째 매개변수명 : name


메서드 호출 원리

1)메서드명 일치

2)매개변수 갯수 일치

3)매개변수 data type에 각각 일치하는 값이 입력되어야 메서드 호출된다.




실행순서기준으로 설명


1)login_check메서드 호출시 id001값을 첫번째 매개변수id에

pw001값을 두번째 매개변수pw에 입력후 login_check메서드가 실행된다.


2)String data type으로 dbid변수를 선언하고 "id001값을 dbid변수에 대입한다


3)String data type으로 dbpw변수를 선언하고 "pw001값을 dbpw변수에 대입한다


4)만약  id변수에 담겨있는 값과 dbid 변수에 담겨있는값이 일치하면 True

->if문이 실행된다 그렇지 않으면 else블록이 실행된다

 

5)조건문이 일치하면 콘솔창에 01 아이디 일치 출력

 

6)조건문이 불일치하면 콘솔창에 02 아이디 불일치 출력




어떤자료를 입력받아 메서드내에서 어떤 조건 비교를 하고 출력할것인가?



로그인체크를 할 수있다

1)어떤 자료를 입력받아 : 아이디.비번

2)메서드내에서 어떤 조건비교를 하고 출력 할 것인가

 

자바 데이터 타입에는 기본형과 참조형이있다.

기본형은 boolean, char, byte, short, int, long, float, double와 같이 계산을 할 수 있는 타입이며,

참조형은 기본형을 제외한 나머지 타입을 의미한다. String, StringBuffer, List 등등 개인이 만든 클래스도 참조형 타입이 될 수 있다.

 

1.Primitive Type 기본형

-자바에서 기본 자료형은 반드시 사용하기 전에 선언되어야한다.

-OS에 따라 자료형의 길이가 변하지 않는다.

-비객체타입으로 null값을 가질 수 없다.


 자료형

 크기

 데이터

 표현범위

 boolean

 1bit

참/거짓

 true,flase

 char

 2byte

문자

유니코드

 byte

 1byte

 정수형

 -128 ~ 127

 short

 2byte

 정수형

 -32,768 ~ 32,767

 int

 4byte

 정수형

-2³¹ ~ 2³¹-1

 long

 8byte

 정수형

-2³~ 2³-1

 float

 4byte

 실수형

 -3.4E38 ~ 3.4E38

 double

 8byte

 실수형

 -1.7E308 ~ 1.7E308


2.Reference Type 참조형

 

기본형이 아닌 자료형이며 java.lang.Object를 상속 받는다.

 

기본타입을 제외한 모든 값은 객체(Object)이다.

 

Primitive Type을 이용하여 선언된 변수는 실제 값을 변수 안에 저장하지만,

Reference Type을 이용하여 선언된 변수는 객체가 저장된 메모리(heap)의 주소를 값으로 가지고 그 주소를 이용하여 객체를 참조하게 된다.

 

클래스(Class), 인터페이스(Interface), 배열(Array), 열거(Enum) 타입이 있다.

HTML의 인코딩 방식 때문에 한글이 깨질 때가 있다.


이는 브라우저에서 인식하는 인코딩 방식과 html 파일의 인코딩 방식이 달라 생기는 문제인데,

둘 다 하나의 인코딩 방식으로 통일해 주면 된다.




Get : 웹 컨테이너의 설정 파일에 인코딩 방식을 추가해서 해결  URIEncoding='utf-8'

* 필요한 이유 : post 방식을 구조상 사용할 수 없을 경우

    영어가 아닌 한글 데이터를 전달해야 할 경우


Post: 컨테이너에서 인코딩을 결정 할 수 없고 처리하는 쪽에서 인코딩을 설정해서 해결

context type 과 charset / 문서타입을 일치시키고

JSP페이지 상단에 request.setCharacterEncoding("인코딩 방식"); 추가

*인코딩방식-UTF-8, EUC-KR



XML파일 수정하기


Get (Server.xml )

1) port="8080"인 태그 끝에 URIEncoding="UTF-8" 추가한다 (혹은 EUC-KR)

2) 받아온 데이터를 String 클래스를 통해 문자셋을 변화한다 

*개수가 많다면 효율적이지 못한방법



POST (Web.xml)


<!-- Encoding filter -->

<filter>

<filter-name>encodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>






출처: http://seongilman.tistory.com/148 [SEONG]

출처 http://m.blog.naver.com/kch1598/220522085521




서블릿에서 한글 처리하기

1.GET방식


이클립스로 생성한 JSP페이지의 기본 인코딩방식이 euc-kr이기때문에 톰캣의 URL인코딩 방식인 UTF-8 방식으로 지정해준다.


2.POST방식

request.setCharacterEncoding 메소드를 사용하여 BODY영역의 인코딩 방식을 변경해준다.


4DAY / jsp간 데이터 전송

2017. 4. 6. 11:41

변수를 이용하여 데이터 전송하기




문자열 u_id 변수에 u_id로 입력받은 값을 전달받는다.


 ex) user_insert_form.jsp 에서 u_id에 "id001"을 입력받는다

      현재 jsp페이지에서 문자열 u_id변수에 u_id의 값 즉,"id001"값을 전달받는다.

u_id = "id001"



콘솔창에 u_id의 값인 "id001"과 ""안의 문장을 출력한다

출력결과 :


id001 <- u_id user_list01.jsp





출력하는 방법 두가지.









HTML 스타일 적용하기


-헤더부분에 스타일 적용한다


참고사이트 https://www.w3schools.com/



회원가입사이트만들기(1)

-DB는 없지만 있는것처럼 만들어보자




-index.jsp (메인화면)


-user_insert_form (회원가입화면)

-user_list01 (회원리스트화면)

-user_update_form (회원정보수정화면)

-user_list_update (수정된 회원리스트 화면)

-user_list_delete (삭제 후 회원리스트 화면)


-goods_insert_form (상품등록화면)

-goods_list01 (상품리스트화면)

-goods_update_form (상품정보수정화면)

-goods_list_update (수정된 상품리스트 화면)

-goods_list_delete (삭제 후 상품리스트 화면)



주석처리 Ctrl+Shift+/  

주석해제 Ctrl+Shift+\

자동 줄 정리 Ctrl+Shift+F


*작업순서와 실행순서를 생각하도록한다




get방식과 post방식

2017. 4. 5. 10:03

Web페이지에서 전달방식은 서버로의 요청과 응답을 통해 이루어진다.

Get방식과 Post방식은 대표적인 요청의 예이다.



Get방식


서버에 HTTP get요청을 보내는 방식으로 URL주소 뒤에 데이터를 붙여 전송한다.

-get방식으로 보낼수있는 전송할 수 있는 데이터는 256바이트를 넘을 수 없다

-데이터가 공개되기 때문에 보안에 취약하다

-전송속도는 post방식보다 빠르다


예)  http://sun-p.tistory.com/post/?id=4&pw=5


   ?는 URL주소의 끝을 알리며 데이터와 구분짓는다

   &는 각 데이터를 구분짓는다.


Post방식


클라이언트가 서버로 요청을 했을때 보내는 데이터를  HTTP 패킷이라 한다.

html은 HTTP프로토콜을 쓰므로 HTTP패킷이라 이름붙여졌다.

패킷은 인터넷을 통해 보내는 데이터이다.

HTTP패킷의 구조는 헤더와 바디로 나뉘어진다.


Post방식은 서버에 요청시 정보를 HTTP Body에 넣어 전달한다.

-데이터가 공개되지 않으므로 보안에 강하다

-데이터의 길이(양)에 제한이 없다

-복잡한 형태의 데이터 전송에 유리하다

-URL주소가 곧 값이기 때문에 북마크에 추가 할 수 있다

-브라우저기록이 남는다

Get 과 Post 어떤 것을 사용할까

GET

-어떠한 정보를 조회할 때

-출력을 받는 요청


POST

-입력받은 정보를 저장하거나 이를 기반으로 조회할때

-데이터의 크기가 클 때-

-입력이 중요한 요청

상대경로와 절대경로

2017. 4. 5. 10:02

>절대경로 : 절대적인 주소 즉, 변하지 않는 주소를 경로로 지정한다. 전체주소 값이다.

>상대경로 : 하나의 파일이 있는 위치에서 다른 파일이 위치한 주소를 경로로 지정한다.




상대경로 -> 나를 기준으로 경로가 결정되는 개념

같은 폴더에 있다면 폴더명을 쓰지않고 파일명으로도 파일을 구별할 수 있다

그러나 위치가 바뀐다면????


절대경로 -> 전체주소

드라이브-폴더-파일 순의 주소로 항상 정확한 파일을 찾아낼 수 있다.


+ Recent posts