이전 글에서 설정을 하고 온 후의 진행과정이다! 설정이 되어있지 않다면 ->설정 게시글 참고 [spring 멀티 채팅] websocket,sockjs,STOMP 이용한 채팅 기능-설정(1) 프로젝트는 끝났지만 구현했던 기능들을 까먹지 않기 위해 정리해 보고자 한다! 프로젝트에서 채팅방마다 각 방 멤버들끼리의 채팅 기능이 필요했기에 실시간 채팅 기능을 도와주는 websocket에 technote-mezza.tistory.com websocket만으로도 채팅 구현은 가능했지만 좀 더 채팅 환경에 최적화시키고자 STOMP를 적용하여 구현하였다! STOMP란? simple text oriented messaging protocol의 약자이며, 텍스트 기반의 프로토콜이다. websocket은 연결된 socket에..
프로젝트는 끝났지만 구현했던 기능들을 까먹지 않기 위해 정리해 보고자 한다! 프로젝트에서 채팅방마다 각 방 멤버들끼리의 채팅 기능이 필요했기에 실시간 채팅 기능을 도와주는 websocket에 대해 공부하여 진행하였다. 방 번호마다 다른 url로 들어가면 번호로 방을 구별하여 socket에 연결하는 형식으로 구현하였다. *참고로 spring-legacy를 사용하였다. spring websocket 설정 -servlet-context.xml xmlns:websocket="http://www.springframework.org/schema/websocket" 이 코드를 servlet-context.xml main > webapp > resources > dist에 sockjs.min.js파일을 다운로드하여서 ..
프로젝트를 진행하면서 채팅 기능이 필요하여 진행하고 있었는데 역시 문제를 마주쳤다. 왜왜왜 subscribe에 등록해놨는데 send 된 메시지가 안 오는 걸까... 뭐가 문젤까.... 진짜 별거 아니었던 삽질이었는데 혹시 나와 같은 문제라면 어서 고치기를 바라면서 적어보려고 한다. 내경 우는 아래와 같은 문제점이었고 아래와 같이 고쳤다 우선 기본적으로 소켓의 메시지 전달 과정은 sockjs생성 -> subscribe url 지정 -> subscribe url로 들어오는 메시지를 내 창에 띄어줌 :내가 send한 메시지도 물론 들어온다. 여기서 봐야할 부분은 url지정 부분 -소켓 생성 부분 -메시지 보내는 send부분 -subscribe 설정 부분 ** 그렇다. 처음 endpoint로 소켓을 생성할 때는..
org.springframework.web.servlet.PageNotFound - No mapping for GET ->정상적으로 url매핑이 이뤄지지 않았을 때 나는 에러이다 다양한 문제로 발생할 수 있지만 몇가지를 살펴보자 1. url값을 잘못 써줬을때 가장 기본적인 문제인 오타로 @RequestMapping("url") -> 이 부분에 있는 "url"부분을 잘 썼는지를 보자. 2. @Controller 어노테이션 입력을 까먹었을 경우 mvc패턴에서 해당 url로 찾아 들어가는 controller를 명시해주지 않아서 생긴 오류이다. 3. servlet-context.xml에서 context:component 태그에 기본 패키지를 제대로 입력하지 않았을 경우 기본 패키지가 com/chat/handle..
Starting Apache Tomcat v9.0 at localhost' has encountered a problem. Server Apache Tomcat v9.0 at localhost failed to start. 이클립스에서 톰캣 서버를 시작하면 가끔 이런 오류가 떠서 사람을 미치게 만든다.... 여기에는 많은 이유들이 있으니 우선 필수로 빨갛게 가득 찬 에러를 읽어보도록!!! 해결방안 1 : 톰캣 서버를 재설치한다. -가장 많은 이유로 서버의 경로지정등의 오류로 인해 서버가 실행이 안 되는 경우이다. 대부분 이클립스에서 지정되어있는 서버를 지우고 재설정하면 잘 되고는 한다. 상단 메뉴바에 window->preferences 클릭 server->하위메뉴에 Run Environments 클릭 기..
톰캣의 경우 public ip를 사용하지 않으면 localhost:8080으로 접속할 수 있다. url의 경로명은 기본적으로 파일의 경로명을 root경로명뒤에 이어 붙여서 접근이 가능한데 프로젝트폴더를 만들면 root에 기본적으로 localhost:8080/프로젝트명/이외의경로명 이렇게 된다. 이 url에서 프로젝트파일명을 제거하여 프로젝트가 root가 되게 해보자 프로젝트폴더가 root가 되게 context를 설정하여 url의 변경 프로젝트 우클릭 -> properties 클릭 web project setting에 들어가서 프로젝트명으로 되어있는 root를 /로 바꾼뒤 ok클릭 위의 색칠해져있는 부분 우클릭 delete를 한다. 그다음 서버 재시작을 하면 root url에서 context명인 프로젝트명..
통합개발환경(IDE)인 이클립스를 통해 톰캣 서버를 연동하여 프로젝트 개발환경을 구축하기. IDE를 사용하지 않을경우 파일이 수정되면 컴파일->배포->서버재시작 등의 과정을 반복해야 하므로 번거롭고 서비스 중인 서버인 경우 치명적일 수 있다. 이 과정을 이클립스를 사용하여 간편하게 해 보자! 우선 javaEE 이클립스여야 한다. 새로 깔아도 괜찮고 원래 이클립스에 javaEE를 설치해도 괜찮다. javaEE가 설치된 환경이라면 new -> dynamic web project를 확인할 수 있다 이걸 클릭해서 프로젝트를 생성해보자 Project name을 입력하고 색이 칠해진 nuw runtime을 클릭해 실행환경으로 무엇을 쓸지를 선택하자 나는 아파치 톰캣 9.0 버전을 설치하여 사용할 것이기 때문에 선택..
tomcat을 정상적으로 설치하면 8080 기본 포트로 설정되어 있기 때문에 톰캣을 start 시킨 후 localhost:8080으로 들어가 보면 기본 톰캣 화면이 활성화가 되어있어야 맞다. 하지만 가끔 사용자 비밀번호 입력이라고 뜨며 아래와 같은 창이 뜨는 경우가 있다. 이유 이 경우 내 컴퓨터에 oracle을 설치했는가를 생각해봐야한다. 이런 창이 뜰 경우에는 높은 확률로 같은 8080포트를 쓰는 oracle과 포트가 겹쳐서 나타나기 때문! 해결방법 이 경우에서의 해결방법은 tomcat의 포트번호를 변경해 주면된다! 설치된 톰캣 파일에서 conf파일을 클릭! 안에 있는 server.xml파일을 열어서 이 부분을 수정해 주면 된다. 원래는 기본값이 8080으로 되어있을 것이다. 여기서 나는 8000번으..
- Total
- Today
- Yesterday
- 자바
- 운영체제
- 채팅
- 프로그래머스
- git
- 완전탐색
- MST
- Heap
- Baekjoon
- Spring
- 코딩테스트
- websocket
- Oracle
- programers
- SWEA
- Stomp
- 삼성 sw역량테스트
- OS
- 정렬
- JavaScript
- 백준
- BFS
- 삼성 sw역량 테스트
- java
- 최소 스패닝 트리
- DP
- sockjs
- 분리 집합
- 알고리즘
- dfs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |