- Today
- Total
목록Web (5)
개발하는 고라니
최근에 사이드 프로젝트를 진행하고 있다. 기획 및 설계, 구현과 테스트 빌드 그리고 배포까지 스스로 해보는 것이 목표이다. 배포는 클라우드 서비스를 이용해 진행했는데, 처음으로 웹 서버(Nginx)를 사용해보았다. 특히 웹 서버를 사용하면 서버의 정보(예: port)를 숨길 수 있는 'Reverse Proxy'를 할 수 있다. 특정 URL로 접근하는 경우 특정 포트로 넘겨주는 작업을 할 수 있는데, 이는 웹소켓을 연결하는 과정에서 문제가 되었다. 이 글은 Reverse Proxy를 적용한 Nginx 환경에서 WebSocket을 WebSocket Server와 연결할 때 주의할 점에 대해 다룬다. WebSocket 웹소켓 프로토콜은 웹 어플리케이션의 클라이언트와 서버 간 실시간-양방향 통신을 할 수 있는 ..
순수 Servlet을 이용해 파일을 업로드하고 로컬 저장소에 저장하는 것을 알아보자. 먼저 서버사이드에서 파일을 업로드하는 방법은 가장 간단하게 태그를 이용한 POST 방식이 있다. (form태그 속성 중 enctype을 반드시"multipart/form-data"로 변경) 자바스크립트와 Ajax를 이용한 방법도 있지만 이는 다음에 알아보고자 한다. 먼저 form 태그에 파일과 내용을 달아보자. 제목 첨부파일 저장 취소 reg라는 URL로 제목(title), 내용(content) 그리고 파일(f)가 전송될 것이다. 이를 Controller에서 받는 방법을 소개한다. Controller에서 파일 정보 가져오기 우리는 그동안 body에 담긴 데이터든, 쿼리스트링에 붙어있는 값이든 request.getPara..
브라우저에서 댓글을 작성해 서버로 전송하는 과정 중 만난 문제와 그때의 해결방법을 기록하고자 한다. XMLHttpRequest 'POST' JQuery를 이용하지 않고 JS로 XMLHttpRequest를 만들어 서버로 JSON 데이터를 'POST'하는 과정에서 만난 오류는 다음과 같다. var reply = { content: content, bid: bid }; request.open('POST', url, true); request.setRequestHeader("Content-Type", 'application/json; charset=UTF-8'); request.send(JSON.stringify(reply)); 해당 URL로 JSON 형식의 데이터를 보냈는데, 이를 어떻게 받아야 할까? 우리는..
JDBC (Java Database Connectivity) Java를 이용해 Database를 사용하는 프로그램 Database를 이용하기 위한 API를 구해야 한다. JDBC API Java 어플리케이션과 DBMS가 직접적으로 연결해 사용할 수 있는데, 이를 간접적으로 연결해서 사용하게 하는 API DBC (Database Connectivity) DBMS은 우리가 알고있듯 Oracle, MS SQL, MySQL ... 여러 가지가 있는데, 만일 Oracle을 사용하다가 MS SQL로 마이그레이션을 했다고 가정했을 때, Oracle에 매핑되어있는 함수와 MS SQL에 매핑되어있는 함수가 다르기 때문에 코드를 전부 수정해야할 수도 있다. 이러한 문제점을 해결하기 위해 DBMS와 직접 연결하지 않고 중간..
언어 : 절차, 프로그램을 작성하는 명령어 집합 플랫폼 : (한정적으로) 언어로 작성한 절차가 동작되는 환경, 기반 API : 프로그램과 플랫폼을 연결해주는 인터페이스 Web Server : 클라이언트의 요청을 받아 정적인 문서를 반환해주는 역할 WAS : 웹 어플리케이션을 실행해주는 역할, JSP는 문서가 아닌 실행이 필요한데, 이를 실행해준다. Servlet : 페이지 기반의 서버 페이지를 만드는 플랫폼 JSP (Java Server Page) HttpServlet을 상속받으면 service라는 메서드를 Override 할 수 있는데, 이는 GET/POST 구분 없이 실행되는 메서드이다. 이때 GET과 POST를 구분하는 방법은 service의 인자로 받는 request의 메서드 중..