본문 바로가기

분류 전체보기

(104)
<HTML> 기본 태그들 (2) - 이미지 관련 태그 1) : 이미지 삽입 태그 2) : alt는 이미지가 에러 현상으로 보이지 않는 경우나, 화면 낭독기가 이미지 대신 인식할 때 필요한 텍스트를 표현 3) : width는 이미지의 가로 크기, height는 이미지의 세로 크기 태그 4) 과 : 로 웹 문서에서 이미지와 텍스트 등을 한 단위로서 묶을 수 있고, 을 추가하면 이미지에 설명 글을 붙일 수 있음 *웹에서 사용 가능한 이미지 파일 형식 - GIF, JPG/JPEG, PNG, SVG *경로 설정법 - 현재 위치하고 있는 HTML 문서에서 이미지 파일이 있는 곳까지 찾아가기 위한 경로로 설정, '/'는 하위 폴더를 지칭, '..'는 한 단계 위의 폴더로 올라가는 것. 경로는 웹 상의 링크로도 가능 //경로 설정 //1. 이미지 파..
<HTML> 기본 태그들 (1) - HTML이란? HyperText Markup Language의 준말로, 웹 사이트를 만들 때 지켜야 하는 약속들을 정리한 것이다. 이 중 '하이퍼텍스트(HyperText)'란 웹 사이트에서 링크를 클릭하면 다른 문서나 사이트로 이동할 수 있는 기능을, '마크업'이란 태그(tag)를 사용해 문서에서 어떤 부분이 제목이고 본문이고 사진이며 링크인지 표시하는 것을 뜻한다. 정리하면, 웹에서 자유롭게 오갈 수 있는 웹 문서를 만드는 언어가 HTML인 것이다. *태그(tag) - 마크업할 때 사용하는 약속된 표기법, 꺽쇠괄호()로 묶인 부분 HTML은 우리가 현재 이용하고 있는 웹 사이트들에서도 확인이 가능하다. 1) 마우스 오른쪽 버튼 -> '검사' or '페이지 소스 보기' 2) 키보드 F12 -> 'El..
<자바 Java> 기본 API - StringTokenizer 클래스 - StringTokenizer 클래스 문자열이 특정한 기호(구분자)로 연결되어 있는 경우, 해당 기호를 기준으로 문자열을 분리하여 가져올 수 있도록 하는 기능을 가지고 있는 클래스다. 이와 비교되는 것이 String 클래스의 split() 메서드다. 코드로 보자. 1) String 클래스의 split() 메서드 String[] result = "문자열".split("구분기호"); public class StringSplitExample { public static void main(String[] args){ String text = "자바&스플릿,테스트,하기-성공"; String[] names = text.split("&|,|-"); // | 기호로 구분기호들을 구분해준다. for(String nam..
<자바 Java> 컬렉션 프레임워크(Collection Framework) (1) - List - List 컬렉션 List 컬렉션은 객체를 한 줄로 늘어놓은 것이다. 가장 큰 특징으로는, 객체를 인덱스로 관리한다는 것이다. 따라서 인덱스로 객체를 검색, 삭제할 수 있다. 또한 List 컬렉션은 객체 자체를 저장하는 것이 아니라, 참조 변수처럼 객체의 번지를 저장한다. List 컬렉션의 List 인터페이스는 기본적으로 제네릭 타입을 가지며, 구체적 타입은 객체를 생성할 때 결정한다. 기본적으로 사용되는 메서드는 객체 추가 시 add(), 가져올 때 get(), 삭제는 remove()이다. 1) ArrayList List 컬렉션의 List 인터페이스를 구현한 클래스이다. Array + List이기 때문에, Array의 특성을 합쳤다고 생각하면 이해하기 쉽다. 다만 기본적인 Array와의 차이점은 배열..
<자바스크립트> Ajax - Ajax(Asynchronous Javascript)란? Ajax란, 자바스크립트 기반 라이브러리인 제이쿼리(JQuery)를 바탕으로 한 기능이다. 제이쿼리는 자바스크립트에서 동적 기능을 보다 편리하게 개발할 수 있도록 돕는 역할을 하는데, 형태는 CSS선택자를 이용하여 다음과 같이 표현한다. //모든 태그 요소 선택 $("*") //적용하려는 id 선택 $("#id") //적용하려는 class 선택 $(".class") 따라서 Ajax도 위의 형태를 따른다. Ajax를 구체적으로 풀어 설명하자면, '비동기 자바스크립트 + XML'의 의미인데, 클라이언트와 서버 간에 데이터를 XML(혹은 JSON)으로 주고 받는 기술이다. - '비동기'의 의미 그럼 Ajax에서 비동기란? 비동기를 이해하려면 동기와 ..
<트러블슈팅> getPathInfo() = null 에러 모델2 MVC 패턴으로 서블릿과 JSP를 이용하여 회원가입 기능을 만드는 중이었다. 중심이 되는 컨트롤러에게 회원리스트 출력, 회원가입 폼으로 이동 등의 기능들을 구분할 수 있도록 URI를 이용해 따로따로 배정을 해주었는데... @WebServlet("/member/*") public class MemberController extends HttpServlet { ... protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nextPage = null; request.setCharacterEncoding("utf-8"); response..
<자바 Java> JSP 요소 - JSP의 등장배경 서블릿을 통해서도 웹 구현이 얼마든지 가능하지만, 점차적으로 화면 구성을 좀 더 사용자에게 편의하게 구성하는 것의 필요성이 높아지면서 코드가 복잡해지게 되었다. 이에 자바 코드 안에 HTML 코드를 작성하는 서블릿 코드의 방식으로는 코드의 복잡함이 해소되기가 어려운 것으로 판단되어 JSP가 등장하게 되었다. JSP는 서블릿이 자바 코드를 HTML로 일일이 개발자가 다시 작성하는 역할을 대폭 줄여주었고, 또한 사용자에게 보여질 화면 구성의 디자인을 담당하는 디자이너로서도 복잡한 개발 코드를 보는 것보다 직접 담당하는 HTML, CSS, JS의 코드를 직접적으로 보고 작성할 수 있는 JSP가 훨씬 편리하게 다가오게 되어 JSP는 웹을 구현하는 데 있어 큰 역할을 차지하게 된 것이다. -..
<트러블슈팅> DB 연동 시 쿼리문 오류 / html 내 js 실행안됨 1.DB 연동 시 쿼리문 오류 아래와 같은 회원 목록을 불러온 뒤, 오른쪽의 '삭제' 버튼을 클릭하면 삭제가 되어야 하는데 계속 삭제가 안되고 동일한 페이지로 나타났다. 처음엔 아래 코드 중 링크 부분에 의심이 갔다. 그도 그럴 것이 서블릿에서 서블릿으로 다시 전송한다고..? 그러니까 즉, '삭제'를 클릭하면 기존의 html 페이지에 있는 command 태그를 아래와 같이 삭제 메서드인 'delMember'로 값을 바꾸고, 삭제를 클릭한 회원 정보의 'id'를 받아와 for(int i=0;i
<자바 Java> 커넥션풀(ConnectionPool) - 기존 DB 연동 방법의 단점 웹 애플리케이션이 필요할 때마다 DB에 연결해야 한다면, 매 번 연결과정을 거치므로 이 경우 시간이 많이 걸릴 수 있다. 특히, 수백 명 이상이 동시에 접속하여 이용하는 규모가 큰 서비스의 경우는 더욱 이것이 단점으로서 부각된다. 따라서 이를 해결하여 빠른 속도로 DB에서 정보를 얻어와 서비스를 구동시킬 수 있는 방법으로 커넥션풀(ConnectionPool)을 이용할 수 있다. - 커넥션풀(ConnecionPool)이란? 기존 DB 연동방식은 웹 애플리케이션이 필요할 때마다, DB의 연결을 설정해두는 방식이었다. 하지만 이렇게 매 번 연결을 설정해두고 데이터를 가져와 작업을 처리할 필요는 없다. DB를 연결해야 하는 부분은 사용자들이 서비스를 이용할 때마다 계속해서 공통적..
<자바 Java> 메서드 - 메서드란? C언어에서는 함수이지만, 자바에서는 메서드로 사용된다. 즉, 함수와 비슷하다는 뜻. 이렇게 우리가 이미 알고 있는 함수라는 개념을 가지고 메서드를 처음 공부할 때 접근하면 이해가 훨씬 쉽다. 메서드는 자바에서 클래스 내에서 해당 객체의 상태를 나타내는 데이터를 가진 필드와 함께, 객체의 기능을 규정한다. 메서드는 특히 필드나 생성자에 비해 기능이 많은데, 필드나 생성자가 자바 프로그래밍에서 기본 뼈대라고 한다면, 메서드는 여러 기능을 가진만큼 그 중에서도 핵심적인 역할을 수행하는 뼈대라고 할 수 있겠다. - 메서드 구성 메서드는 크게 선언부와 실행 블록으로 나뉜다. 선언부는 메서드가 선언되는 첫 줄을 말하며, 실행 블록은 선언부 다음의 {} 기호 안의 영역을 말한다. 선언부의 형태는 다음과..