목차

  • 개요
  • 사전작업
  • VM생성
  • 네트워크설정
  • VM시작 , iso 마운트
  • 리눅스 시작
  • 인터넷 연결 확인
  • 브리지 네트워크로 전환
  • 네트워크 매니저 비활성화
  • eth0 자동시작 설정
  • Tomcat 설치 및 설정


개요

  • VirtualBox에 CentOS 7 을 설치하여 로컬서버 구축하기.
  • 네트워크 구성하기
  • 윈도우에서 SSH 

사전작업


VM생성

  • VirtualBox실행
  • 새로 만들기(N) 클릭
  • 이름 =  CentOS7 (맘대로) , 종류 = Linux , 버전 = RedHat(운영체제맞게) > 다음
  • 메모리크기  > 다음
  • 지금 새 가상 하드 디스크 만들기 체크  > 다음
  • VHD 선택  > 다음
  • 동적 할당 > 다음
  • 파일 위치 및 크기 > 만들기

네트워크설정

  • CentOS 우클릭 - 설정 클릭
  • 네트워크 - 어댑터1 - 고급 - 반가상네트워크 (vertio-net)

VM시작 , iso 마운트

  • CentOS 시작 - 시동디스크창 - 다운받은 iso선택

리눅스 시작


인터넷 연결 확인


브리지 네트워크로 전환


네트워크 매니저 비활성화

eth0 자동시작

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • UUID 주석처리 
  • ONBOOT = yes

Tomcat 설치 및 설정


'웹 개발 > 로컬서버' 카테고리의 다른 글

CentOS Tomcat 설치하기.  (0) 2017.01.22
CentOS7 JDK설치하기  (0) 2017.01.22
로컬서버 - 브리지네트워크전환  (0) 2017.01.11
로컬서버 - CentOS 설치  (0) 2017.01.11
로컬서버 - VirtualBox 설치하기  (0) 2017.01.07

select * from user_triggers 에 검색되는 trigger에는 분명 트리거이름이 존재하는데


drop trigger 트리거이름 구문을 실행하면 ora-04080 오류가 나온다.


구글 검색을 해보니 트리거 이름이 소문자로 정의 된 경우 해당오류가 날 수 있다고 하더라...ㅠㅠ


해결방안 

drop trigger 소유자계정."트리거이름";   형태로 drop시켜주니 잘 삭제된다. 


트리거이름은 대문자로합시다...


ResultSet을 불러와서 getTimestamp(인덱스)를 호출하는데 

java lang illegalargumentexception timestamp format must be yyyy mm dd hh mm ss fffffffff

같은 오류가 발생하였다. 


정말 간단한건데 이딴거 때문에 몇시간을 버린건지..한심해진다...

위와같은 오류는 timestamp 형태를 맞춰주지 않아서 발생하는 오류이다. 하지만 필자의 경우 형태가 맞는데 계속 위와같은 에러가 발생해서 멘탈이 나갔었는데 


select 할때 * 과 컬럼을 나열한 경우의 차이때문에 컬럼순서가 맞지 않아서 발생한 에러였다..

date값이 들어가는 위치에 자꾸 이상한 문자열이 들어가버리니 위와같은 에러가 발생한거였다...


멘탈아웃...


'웹 개발 > 데이터베이스' 카테고리의 다른 글

ora-04080 trigger does not exist  (0) 2017.01.03
Date 형식 update  (0) 2016.09.01

웹에서의 한글처리 방법과 인코딩을 공부중인 신입입니다. 한글처리 관련 삽질을 하다보니 한번 정리해야 할 것같아서 문서로 남깁니다.. 제가 착각하고 있는 부분이나 틀린부분 지적해 주시면 감사하겠습니다 :)


<%@ page language="java" contentType="text/html; charset=EUC-KR" 
    pageEncoding="EUC-KR" %> 


charset -> jsp 페이지 출력 시 사용할 문자코드

pageEncoding -> jsp 파일 작성 시 사용할 문자코드


자바 가상머신(JVM) 내부에서는 모든 문자열이 unicode로 처리된다. 따라서 서블릿 컨테이너는 jsp을 jvm으로 읽어들일 때 

pageEncoding설정한 문자코드에서 unicode로 변환한다.

그리고 웹 브라우저에 html문서를 출력할 때는 unicode에서 charset에 설정한 문자코드로 변환하여 출력한다.

contentType에 설정한 값을 통하여 브라우저에게 문자코드 정보를 전달한다.


인코딩과 디코딩이란?

인코딩은 문자를 숫자로 매핑하는 방법이고 , 디코딩은 매핑된 숫자를 문자로 매핑하는 방법이다.


request.setCharacterEncoding()

요청 파라미터의 캐릭터 인코딩을 설정(jsp -> servlet)


response.setCharacterEncoding()

요청 받는 파라미터의 캐릭터 인코딩을 설정.(servlet -> jsp)


--> 해당 서블릿마다 위와같은 처리를 하는 것은 매우 번거로운 일임. 게다가 문자코드를 변경할 일이 생기면 모든 서블릿을 변경해야하는 큰 일이 생겨버림.. 그래서 filter를 사용하여 일괄적인 문자코드 관리가 가능함.



Get방식의 한글처리

-> tomcat의 web.xml 의 uridecoding 설정을 변경 utf-8 한다.


 


'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26
http와 https  (0) 2016.07.26

to_date('20110714 210000','yyyy/mm/dd hh24:mi:ss')

ex) update table set startdate = to_date('20110714 210000','yyyy/mm/dd hh24:mi:ss') where code = 2

Apache 란 ? 

아파치란 것은 소프트웨어 단체 이름이다. 흔히 말하는 아파치 서버라는 것은 아파치에서 후원하는 오픈소스 프로젝트 커뮤니티에서 만든  http웹서버를 지칭하는 말이다. http웹서버는 http요청을 처리할 수 있는 웹 서버이다. 즉 아파치는 웹서버다.


Tomcat 이란?

tomcat은 흔히 WAS(Web Application Server)라고 한다. WAS는 웹서버와 웹 컨테이너 결합으로 다양한 기능을 컨테이너에 구현하여 다양한 역할을 수행할 수 있는 서버를 말한다. 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들어내고 이것을 다시 클라이언트에 전달해주는 역할을 하는 것이 바로 웹 컨테이너이다.


아파치와 톰캣의 차이는 바로 이 웹컨테이너 역활을 하냐 안하냐의 차이이다.


was구조 이미지출처 : http://gap85.tistory.com/45




웹서버와 WAS를 둘 다 쓰는 이유는?

두 서버의 목적의 차이로 사용자 요청은 웹서버를 통해 받고 내부 프로그램은 WAS를 통해 처리하는 것이 정적/ 동적 데이터를 효과적으로 처리하기 때문이다.



'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
동일출처정책(same origin policy)  (0) 2016.07.26
http와 https  (0) 2016.07.26

(모질라 기준이라 다른 브라우저는 차이가 있을 수 있음)

동일출처정책이랑 한 출처(origin)에서 로드된 문서나 스크립트가 다른 출처 자원과 상호작용하지 못하도록 제약하는 정책.


여기에서 같은 출처의 기준은,

두 페이지의 프로토콜, 포트, 호스트가 같으면 동일출처로 간주한다. 

예를들어 origin 을 http://dev-troh.tistory.com/a/a.html 이라 했을 때 해당 url 요청 결과는 다음과 같다.


http://dev-troh.tistory.com/a2/a2.html 

성공 

 

http://dev-troh.tistory.com/a/b/c.html

성공 

 

https://dev-troh.tistory.com/a.html 

실패 

프로토콜 상이 

http://dev-troh.tistory.com:81/a/etc.thml 

실패 

포트 상이 

http://im-troh.tistory.com/a/a.html 

실패 

호스트 상이 



위와 같은 이유때문에 Cross domain 문제가 발생하는데, 이를 우회하는 방법이 있다.


1. documnet.domain 방법

   이 방법은 서브 도메인이 다를 경우에 사용함.

   http://A.naver.com -> http://B.naver.com : 서브 도메인이 달라서 호출 거부함.

   

   document.domain = 'naver.com' 으로 설정하면 가능.


2. Cross domain proxy 

   자바스크립트에서 동일 서버의 URL을 호출하고, 이 URL에서 내부적으로 다른 모데인의 URL을 호출하는 것.



3. Cross domain JSON(get 방식만 가능)

  현재 페이지의 스크립트에서 다른 서버로 Ajax 호출을 시도하는 것은 허용되지 않는데 JSONP(JSON With Padding)을 사용하여 해결 가능합니다. jsonp의 원리는 동적으로 script 태그를 생성하고 src부분에 호출할 서버 주소와 파라미터를 붙여서 넣고 document.body에 dom메소드를 사용하여 append합니다. 서버는 다음과 같은 형태로 응답하게 됩니다

callback_function_name{{name:"test"})


'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
http와 https  (0) 2016.07.26

http (hypertext transfer protocol)

웹상에서 웹 서버와 사용자(인터넷 브라우저) 사이에 하이퍼텍스트 문서를 전송하기 위해 사용되는 통신 규약.

https (hypertext transfer porotocol over secure sockets layer)

하이퍼텍스트 전송규약 계층 아래의 SSL서브 계층에서 사용자페이지 요청을 암호화,복호화 과정을 통해 데이터를 주고받기 때문에 보안상 더 안전함. 


하지만 보안상 안전한 https를 사용안하고 http를 곳곳에서 사용하는 이유?

 - 암호화에 따른 속도차이.



'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26

+ Recent posts