반응형
Caused by: java.lang.IllegalArgumentException: More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.

 

이클립스에서 maven 프로젝트 톰캣 실행시 위와 같은 오류가 발생하였다.

 

1. 해당 프로젝트 WEB-INF/web.xml에서 맨 상단에 있는 버전을 2.5→ 3.0으로 변경하였다.

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://Java.sun.com/xml/ns/j2ee" version="3.0" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_3_0.xsd">

 

2.  그리고 아래처럼 display-name 태그 바로 밑에 absolute-ordering 태그를 추가하였다.

<display-name>WEB</display-name>
<!-- display-name 아래에 -->
<absolute-ordering\>
<!-- absolute-ordering 추가 -->

 

반응형
반응형

21번 포트를 사용하고 있는 프로그램인데,

보안이슈로 인해 21번 포트를 사용하려면 해당 서버에 21포트 사용하는 ip를 제외하고는 접근제한을 해달라는 요청이 왔다.

해당 웹서버에서는 21번 포트를 사용하는건 접근제한이 안되있다고해서 다른 pc에서 리눅스 서버와 cmd로 ftp 접속시도를 해보았고 방법은 각각 아래와 같다.

리눅스에서 ftp 접속하는 방법
# ?.?.?.? ftp 접속하려는 ip주소
ftp ?.?.?.? 21


1. 연결이 잘 된 경우

Connected to ?.?.?.? (?.?.?.?).
111 warnning welcome


잘된 경우 welcome이 뜨면서 계정정보과 비밀번호 입력하라고 차례대로 나온다.
정확한 계정 정보를 입력하면 Login successful.

2. 연결이 안된 경우

Connected to ?.?.?.? (?.?.?.?).
421 Service not available.


윈도우 cmd창에서 ftp 접속하는 방법
# ftp를 입력후 
ftp
# 'open {접속할아이피주소} {포트}' 입력
ftp> open ?.?.?.? 21


1. 연결이 잘 된 경우

?.?.?.?에 연결되었습니다.
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.


잘된 경우 계정정보과 비밀번호 입력하라고 차례대로 나온다.
정확한 계정 정보를 입력하면 Login successful.

2. 연결이 안된 경우

?.?.?.?에 연결되었습니다.
421 Service not available.
원격 호스트에 의해 연결이 닫혔습니다.



연결이 안된 경우 421 Service not available. 에러가 나온 경우는

21포트 사용하는 해당 서버가 아닌 다른 pc에서 테스트한 경우에 발생했다.
(운영중인 웹서버만 자기 자신 서버 즉, 로컬 서버만 21포트를 사용하도록 설정이 되어있음)

결국 로컬에서만 21포트를 사용하도록 잘 설정이 되어 있었음을 확인하였다.

아래 이미지는 21포트를 허용할 host정보 내용이다.(hosts.deny는 ALL:ALL로 설정되어 있다.)

반응형
반응형

 

인텔리제이에서 Local Changes 기능은 유용하다.

 

위 이미지와 같이 git이나 svn에 연동한 경우 로컬소스 파일이 생성 및 수정 된 부분이 생기면 Changes목록에 나타난다.

 

Local Changes 항목이 활성화 되지 않은  경우 활성화 하는 방법은 아래와 같다.

 

File > Settings... 클릭

 

Version Control > Commit > Use non-modal commit interface 체크박스 해제 후 Apply > OK

 

적용하면 intellij Local Changes 탭이 활성화된다.

반응형
반응형


디스크가 full이되서 어디서 용량이 많이 차지하는지 확인이 필요했다.

# 현재 디렉토리 기준, 용량 큰 순서대로 디렉토리명과 용량 보여주기
du -h --max-depth=1 | sort -hr


위와같이 루트서부터 동일한 명령어로 큰용량을 차지하는 디렉토리를 추적했다.

확인해보니 오래된 database백업 파일들이 여럿 있었고,

database를 통으로 백업하기에 꽤나 큰 용량이었다.

이러한 삭제하지 않은 데이터가 있는데 계속해서 새로 백업을 하고있었다.

원래 삭제되야하지만 (오류 등으로 인해) 삭제되지 않았던 database백업파일들이 2021년 8월에 해당하는 파일들이라서

많은 양의 백업파일들중 2021년 8월에 해당하는 백업파일만 조회하고 삭제하기로 하였다.

# 날짜기준 파일 보여주기
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2021-08
# 날짜기준 파일 삭제하기
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2021-08 | awk '{print $2}' | xargs rm -f


삭제하고 나니


디스크가 87%로 확인됬다. 끝

반응형
반응형

뭘 잘못눌렀는지 노션이 영어로 바뀌어 버렸다.

 

슬래쉬를[/]치고 명령어를 써서 사용하는게 많은데, 영어로 바뀌어버리니 마우스로 직접클릭하는 귀찮음..

 

노션 영어로 된 상태에서 한국어로 바뀌도록 설정을 해본다.

 

우선  데스크탑 어플리케이션에 로그인 한 후 좌측 상단부분에 Settings & members를 클릭한다

 

 

그다음 좌측에서 Language & region을 선택하고 Language에서 한국어로 선택하면

 

 

아래처럼 한국어로 변경할꺼냐는 알림창이 뜬다. Update버튼을 누르면 

 

 

한국어로 변경이 된다.

 

반응형
반응형

Ctrl + D : 현재 커서 위치한 코드라인을 아래로 복사

 

Ctrl + Y : 현재 커서 위치한 코드라인 삭제

 

Alt + 방향키 : 파일탭 이동

 

Shift + Shift : 모든 파일 검색(Class, js, xml 등 Database console창까지도)

 

Ctrl + Shift + F : 검색한 문자열로 파일찾기

 

Shift + F6 : 이름변경

 

Alt + 1(숫자) : Project Explorer창 열기 / 닫기

 

디버깅

  • F8 : 다음 줄 이동
  • F7 : 안으로 이동
  • Shift + F8 : 호출된 곳으로 이동(F7로 들어온 위치로 빠져나가기)
반응형
반응형

https가 적용된 사이트에서 iframe에 http url이 있어서 해당 iframe이 동작하지 않았다.

 

콘솔로그를 확인해보니, 콘솔창에서 아래와 같은 오류가 나왔다.

 

Mixed Content: The page at '
https://www.-----.---
' was loaded over HTTPS, but requested an insecure frame '
http://www.-----.---'. This request has been blocked; the content must be served over HTTPS.

 

볼 키워드는

Mixed Content

This request has been blocked

the content must be served over HTTPS.

 

결국은 '혼합된 컨텐츠다, 해당 요청은 차단됬다, 컨텐츠는 https여야한다.' 이다.

 

즉, https를 사용하는 사이트에서 컨텐츠부분에 http통신하는 부분이 있어 해당 http요청이 차단되었다는 의미이다.

 

https 으로 보안이 되있는데, 보안에 취약한 http와 통신할 수 없다는 것이다.

 

해결방법

★ http요청을 https로 변경한다.(해당 url이 https를 제공하지 않는다면 이 방법은 패스)

 

 

또다른 해결방법

★ http 통신하는 html/jsp에 아래와 같은 코드를 head태그 영역에 넣어준다.

 

<head>
	<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" >
</head>

 

 

HTTP Content-Security-Policy(CSP) upgrade-insecure-requests지시문은 사이트의 모든 비보안 URL(HTTP를 통해 제공되는)을 보안 URL(HTTPS를 통해 제공되는)로 대체된 것처럼 처리하도록 사용자 에이전트에 지시합니다. 이 지시문은 재작성해야 하는 안전하지 않은 레거시 URL이 많은 웹 사이트를 위한 것입니다.

 

 

반응형
반응형

기능이 제대로 동작하지 않아 console로그를 찍어 개발자도구로 살펴보았다.

 

이상하게도 error 코드는 200인데, SyntaxError가 나오고 있었다.

 

에러내용이 아래와 같이

 

 Unexpected number in JSON at position 9473

 

ajax통신 리턴값으로 json데이터 받아올때의 문제인듯 해서 json받은 데이터도 console로 찍어보았다.

 

아니.. 가져오는 데이터가 너무 많아서 보기가 힘들어 어떻게해야하나 쓸데없는 고민 후 

 

json 파싱해주는 사이트를 구글링해서 들어가서 console에 찍었던 json결과를 파싱 사이트에 복붙했다.

 

파싱결과를 보니... 아래와같이 name key의 value가................ 알수없는 값으로 들어가 있었다...

 

 

한글이나  영어가 들어와있을 value에 왠 유니코드? 왠 중괄호?

 

아무래도 insert당시에 잘못된 문자조합으로 json형식의 문자열이 insert된것같다(글쎄?)

 

해당 db 데이터를 살펴보니 삭제해도된다고 판단하여 삭제하니 관련 오류가 사라졌다.

 

" Unexpected number in JSON at position 숫자 "  

해당 오류가 난다면, json파싱 사이트에서 파싱결과를 확인해보자. 

json형식에 맞지 않는 데이터가 들어가있으면, 데이터를 살펴볼필요가있다. 

 

json파싱 사이트 링크 (내가 썼던건 프리버전이 끝난건지 현재 연결이 안되서 구글링으로 찾은 사이트 첨부)

 

반응형

+ Recent posts