본문 바로가기

전체 글137

JSP 페이지 JSP =JSP 기술 중에서 웹 어플리케이션을 구현할 때 작성하는 코드 HTML 문서 사이에 JSP코드가 삽입되는 형태 요청 -> JSP페이지(url 따라서 컨테이너가 jsp 찾음 ) ->서블릿으로 소스 코드 변환 -> 컴파일 -> 서블릿 클래스 파일 -> 인스턴스화(메모리에 올라옴) -> 서블릿 객체(Thread가동해서 응답함) -> 초기화 -> 서블릿 JSP페이지 구성요소 scripting요소 이해 => 선언부 : 멤버 변수, 멤버 메소드 지시자 langugage=>자바로 되어 있다. contentType="text/html;=>html로 되어있다. charset=UTF-8 pageEncoding="UTF-8"%> => 메타정보를 컨테이너에게 제공해서 서블릿으로 변환할 때 사용된다. > 값을 출력하는.. 2021. 9. 29.
HTTP HTTP(Hyper Text Transfer Protocol) 웹 브라우저에 요청하고 데이터 전송받기 보통 이렇게 쓴다. 특히 로그인할 때 사용한다. 아이디나 비번을 요청하고 받을 때 사용한다. 여기서 action은 누구한테 데이터를 전송할 지 작성하는 것이다. POST의 경우 body가 있는데 HTTP에서 헤더와 바디가 있다면, 바디를 타고 데이터가 전송되는 방식으로 중요한 정보를 전달할 때 사용한다. GET의 경우 HTTP의 헤더를 타고 이동하고 바디가 없다. 따라서 정보가 그대로 노출된다. 응답코드 404 NOT FOUND : 문서를 찾을 수 없다. 서버가 요청한 파일이나 스크립트를 차지 못함 405 METHOD NOT ALLOWED : 메서드 허용 안됨, 요청 내용에 명시된 메서드를 수행하기 위해.. 2021. 9. 28.
Servlet 자바 서블릿의 특징 -> 자바를 사용하여 웹페이지를 동적으로 생성하는 서버 측 프로그램 웹 서버의 성능을 향상시키기 위해 사용되는 자바 클래스이다. 자바 코드안에 html 포함, jsp는 반대로 포함한다. 서블릿 만들기 Dynamic web Project를 만들 때 xml을 만들어준다. web.xml을 WEB-INF에다가 만들어준다. 그리고 프로젝트를 우클릭하고 servlet를 만들어준다. servlet의 package와 class name을 적어주고 next를 누르면 이런 화면이 나오는 데 여기서 name은 url를 뜻한다. 나중에 이 url을 통해 각 서블릿을 불러올 것이다. 그러면 이렇게 서블릿이 만들어진다. 2021. 9. 27.
웹 프로그래밍 이해 people : 유저 Online Software Clients : 브라우저 ->요청 -> 인터넷망을 통해 서버 -> DB 서버 업무 DB성능 보장 -> was서버가 db서버와의 최적 사용을 조절해준다. DBconnection pool를 통해 DBconnection 관리 및 트랜젹션 처리 해준다. => 업무와 data 연관작업 특징 gui(화면)와 business logic(연산)분리 운영 Thread관리 부하 조절기능 지원 장애 대책(Fail-over)기능 지원 Transaction 처리 자동화 Web Service 플랫폼으로서 역할 web서버 : 웹 브라우저와 같은 클라이언트로 부터 HTTP요청을 받고, HTML문서와 같은 정적 웹페이지를 반환하는 프로그램 -> 아파치 등 특징 정적 페이지 처리 wa.. 2021. 9. 27.
DBCP pool DB에 연결하기 위해서는 매번 커넥션(Connection)객체가 요구된다. 따라서 필요할 때마다 객체를 생성하는 데 이때마다 많은 시스템 자원이 요구된다. 이렇게 db에 접근하기 위해서는 매번 만들어 놓은 connection 객체를 생성하여 접근하는 것이다. 이용자가 많이 않으면 문제가 없지만 이용자가 많아진다면 이것은 많은 시스템자원을 사용하여 속도가 느려진다. 따라서 커넥션 풀이 중요하다! 그림처럼 커넥션 풀은 데이터베이스와 연결된 커넥션을 미리 만들어 POOL에 저장해두고 있다고 필요할 때 커넥션을 풀에서 가져다 쓰고 다시 풀에 반환하는 것이다. 풀 속에 미리 커넥션이 생성되어 있어 커넥션을 생성하느라 시간을 소비하지 않아 빠르다. 그리고 재사용을 하기 때문에 생성되는 커넥션 수도 많지 않다. 이에.. 2021. 9. 25.
카카오 만들어보기 채팅그림을 누르면 나오게 했다. 해당 채팅창을 선택하면 색이 변하도록 css를 넣어주었다. 채팅창css 돋보기를 누르면 여기로 넘어온다. 이클립스 ...를 누르면 나오는 페이지이다. 위 화면에서 cogs를 누르면 나오는 setting페이지이다. 이번 css연습은 노마드코더의 kakao clone을 보고 만든 졸업작품이다. 아직 완벽하게 css의 속성을 이해한 것은 아니지만 적어도 display :flex에 대해서는 이해를 충분히 했고, 애니메이션에 대해서 더 연습을 많이 해야겠다고 느꼈다. https://ho-bolt.github.io/KokaoClone/ 위의 것을 만든 링크이다. index ho-bolt.github.io 2021. 9. 21.
Css 각종 특징들 정리 flexbox 1. 자식엘리먼트에 어떤 것도 적으면 안된다. 부모 엘리먼트만 명시한다 div의 부모인 body에게 display :flex를 주면 body가 div를 조절할 수 있게 된다. 2. 주축과 교차축 가로 (justify-content) 세로 (align-items) top,left,right등 하나라도 바꾸면 서로 완전히 레이어가 달라진다. 그래서 서로 신경을 안쓴다. fixed 한 건은 가장 위에 있다. Position static 레이아웃이 박스를 처음 위치에 둔다. relative는 element가 처음 위치한 곳을 기준으로 수정한다. relative를 하면 top left right 등 설정가능 absolute는 가장 가까운 relative 부모를 기준으로 이동시켜준다. 만약 부모중에 .. 2021. 9. 21.
자바로 리듬게임 따라만들기 [시작,종료버튼] 버튼을 포토샵으로 넣어준 버튼을 넣어준다. 버튼은 총 4가지 인데 시작버튼 마우스가 올라갔을 때의 시작버튼, 종료버튼, 마우스가 올라갔을 때의 종료버튼 이다. 종료버튼의 경우 x버튼가 코드가 똑같기 때문에 생략한다. 시작버튼의 경우 누르면 배경화면이 달라져야한다. 따라서 새로운 배경화면 이미지를 mainBackgounr.jpg로 images폴더에 넣어준다. 그리고 위의 그림에 처럼 게임시작 이벤트가 눌리면 새로넣은 이미지로 바꿀 수 있게 만들어준다. 이렇게 버튼을 넣어주고 시작버튼을 누르면 이렇게 나오도록 바꾸어 주었다. 2021. 9. 11.
자바 익명클래스 실습 여기서 익명클래스가 나온다. 스벅객체 gangnam을 만들고 regist하면 추상클래스 c를 넘긴다. 따라서 익명클래스 타입인 new Cafe를 넘기게 되고 new Cafe(){ }가 전체 객체가 된다. 이 sell메소드에서 getMenu(), getPrice()를 사용할 수 있는 이유는 같은 클래스안에 있기 때문이다. 전체적인 흐름check! interface Cafe는 메뉴,가격배열과 입력받은 menuName을 파는 메소드를 가지고 있고 스타벅스 클래스에서 그 인터페이스 Cafe를 객체로 받으면서 regist()를 수행한다. 그래서 c.getPrice(),c.getMenu() 함수를 수행할 수 있다. 그럼 실행하는 Road 클래스에서 스벅 객체를 만들어주고 regist()를 해주는데 regist()는.. 2021. 9. 10.
자바 개념(익명클래스) 익명 클래스(이름이 없는 클래스) 현재 new Animal()은 생성자이고 void move()는 메소드이다. 이 void move()를 덮고 있는 {}는 클래스인데 앞에 클래스명이 없고 생성자가 있다. 이렇게 이름이 없는 것을 익명 클래스라고 하며 이름이 없기 때문에 또 객체를 생성할 수 없기 때문에 하나의 객체만을 위한 클래스이다. 메모리낭비를 줄일 수 있다. 이러한 익명클래스는 일반적인 클래스에서 사용하기 보다는 인터페이스나 추상클래스를 객체화할 때 보통 사용한다. 이렇게 Animal클래스가 추상일경우 재정의를 해주어야 하기 때문에 위의 Animal dog=new Animal()를 자동완성시켜주면 Anonmyous inner Type이 뜨면서 무조건 재정의를 해주어야 한다. 만약 implements.. 2021. 9. 10.
Css 특징 Css는 Cascading Style Sheet의 줄임말로 위에서부터 차례대로 적용된다. 따라서 위에서부터 가장 마지막에 있는 것이 나타나게 된다. Inline : width, height속성을 가질 수 없다. 옆에 위치한다. block : width, height를 가질 수 있고 옆에 오지 않고 밑에 붙는다. block는 3가지 속성을 가진다. margin : box의 border(경계)의 바깥에 있는 공간 🔥 여기서 margin값을 적용시킬때 알아두어야 할 것이 있다. margin :20px 면 사방으로 margin이 20px가 적용되고 margin: 20px 15px면 20px는 상하, 15px는 좌우로 적용이 된다. margin : 20px 5px 12px 10px 면 순서대로 위 오른쪽 아래 왼.. 2021. 9. 10.
자바로 리듬게임 따라 만들기 3 (JButton)이용하기 기존의 배경화면을 멤버에 초기화 시켜주고 메뉴바를 만들어준 다음 JLabel에 넣어준다. 여기서 JLabel은 문자열 및 이미지를 화면에 출력해주는 것이고 ImageIcon은 이미지파일로부터 이미지를 읽는 것이다. 그래서 먼저 ImageIcon으로 이미지를 읽어오고 JLabel에 넣어 이미지를 화면에 출력해주는 것이다. 그리고 그릴 수 있게 screenDraw함수에 printComponents(g)를 해준다. 이 함수는 해당 screenImages안에다가 배경화면 이외에 JLabel과 같은 것을 JFrame안에 추가하면 그것을 그려주는 것이다. 즉 JFrame을 상속받는 Dynamic Beat 클래스안에다가 JLabel을 추가했기 때문에 menubar객체를 printComponent함수를 통해 배경화면 .. 2021. 9. 9.