반응형

node.js + express + mysql 을 사용한


node.js CRUD 예제 소스 입니다.


소스에 대한 자세한 설명은 추후 작성 예정


https://github.com/nahosung/node_crud

반응형

'JavaScript > node.js' 카테고리의 다른 글

node mysql 연결 예제 (node-mysql)  (0) 2016.12.26
node 자동 재실행 supervisor  (0) 2016.12.21
express.js 설치  (0) 2016.12.21
node js 설치  (0) 2016.12.21
반응형

aws로 instance를 생성해서 사용하는 경우, 


고정 ip를 지정하지 않으면 instance를 재시작했을경우 ip가 변경이 됩니다. 


그렇기 때문에, 고정 ip를 지정하여 사용합니다. 


( *aws free tier(1년 무료) 의 경우 1개의 고정 ip를 무료로 제공을 합니다. 

  단, 고정 ip를 반드시 instance에 연결을 해야합니다. 그렇지 않으면 요금이 부과됩니다. 

   그리고 고정 ip를 지정한 instance는 정지된 상태가 아닌 실행중인 상태이어야 하며, 정지 상태일 경우에도 요금이 부과됩니다. )


첫번째로 aws에서 자신의 콘솔창으로 접속을합니다. 그리고 ec2를 선택하여 좌측 메뉴에서 Elastic IPs를 선택합니다.



Allocate new address  버튼을 클릭하고 다음화면(혹은 팝업화면)에서 allocate를 클릭하여 고정 ip를 할당받습니다.


(ip를 하나도 할당받지 않은 경우 화면중앙에 나타나며, 좌측에 있는 버튼과 같으니 아무거나 누르면됩니다.)



Elastic IPs 화면에 새로운 고정 ip가 할당된것을 확인 할 수 있습니다.

이것으로 끝나는 것이 아니라 고정ip를 instance에 연결해야 합니다. 


Elastic IP를 선택하고 마우스 오른쪽 버튼을 클릭하여 Associate address 버튼을 클릭합니다.


Associate address 버튼을 클릭하면 아래와 같은 화면이 나오며, Instance를 지정하고 Associate 버튼을 클릭하면 됩니다.


(Insatance 부분을 클릭하면, 자동으로 선택가능한 Instance가 나오며 선택을 하면됩니다.)




위의 과정을 통해 고정ip를 instance에 할당 하였으며, 해당 ip를 통해 접속이 가능합니다. 


Instance로 들어가서 클릭하고 하단의 정보를 확인하면 아래와 같이 위에서 지정한 고정 ip로 할당된것이 확인 가능 합니다. 



반응형

'AWS' 카테고리의 다른 글

aws 우분투 java 설치 및 tomcat 설치  (0) 2017.03.07
aws free tier 종료일  (1) 2017.02.08
aws 리눅스 vsftp 환경 설정  (0) 2016.07.29
aws Unable to locate the model you have specified 에러 발생  (1) 2016.07.20
aws 인스턴스 삭제  (0) 2016.07.20
반응형
간단하게 스프링에서 파일을 업로드 하는 방법입니다. 

1. pom.xml 추가
첫번째로 pom.xml 에 아래와 같이 depency를 추가한다. 
(따로 최신 버전을 찾지 않아도 상관없을듯 합니다.)

 


2. servlet-context.xml 추가
두번째로 servlet-context.xml 에 아래와 같이 baen을 추가합니다.
( 아래의 'beans:bean' 이런식으로 있는 부분은 자신의 파일에 맞게 수정하시면됩니다. )



3. jsp 파일 폼 추가

아래와 같이 간단한 jsp 파일을 작성합니다.


스프링 폼 태그를 사용 했으며, 폼태그에 enctype="multipart/form-data" 을 꼭 넣어야 파일 전송이 가능합니다.




4. Controller 파일 업로드

마지막으로 jsp에서 전송된 파일을 받아 controller에서 파일 업로드를 합니다. 

소스상으로 간단하며, @RequestParam("uploadFile") MultipartFile file 이부분이 jsp에서 받은 파일을 담는 변수입니다.

file.getOriginalFilename()으로 해당 파일의 이름으로 지정된 경로로 파일을 업로드 합니다. 

(실제 파일을 저장할때는 원본 파일명과 다른 유니크한 이름으로 변경하여 파일을 저장한다.)




해당 예제에서는 단순하게 파일을 업로드 하기만 하지만, 파일 업로드시 파일에 정보를 DB에 넣기도 해야하니 FileVO를 하나 생성하고(Map사용 무관),

Controller에서 파일 명을 받아온 방식으로 file.get** 으로 필요한 정보로 가공하여 저장하면됩니다. 

(여기서는 DB에 넣는 Service, dao.. 부분은 생략합니다.)


반응형
반응형

스프링 mvc 구조에서 Ajax 통신으로 json을 return 하는 방법입니다. 

스프링에서 json으로 return 받는 방식은 여러가지 방법이 있으며,

이글에서는 jackson 을 사용하고, @ResponseBody 어노테이션을 사용하는 방식입니다.


첫번째 메이븐을 통해 jackson 을 다운 받습니다. 

pom.xml에 아래와 같이 추가합니다.



(글을 쓰는 당시 위의 버전이 최신이었음.)


두번째로 Ajax 통신을 위한 Controller를 작성합니다. 

아래의 예제는 '/admin/push/version' 의 url에 'pushTarget' 값을 전송하여 'VersionVO' 라는 vo 리스트를 담아 전송하는 소스입니다.

간단하게 설명하면, 원하는 결과를 조회하여 json으로 return 하는 부분입니다.

다음에 나오는 Ajax 부분을 보면 좀더 이해하기 쉬을 것 입니다. 



여기서 중요한 것은 반환형의 앞에 @ResponseBody 라는 어노테이션을 사용한 것입니다.

@ResponseBody을 사용하여 return 결과를 json으로 만드는 것.


마지막으로 Ajax 통신을 하는 자바스크립트 부분입니다.

위에서 작성한 url 경로를 통해 ajax 통신을 하고 json으로 return을 받은 후 결과를 가지고 처리 합니다. 



위의 자바스크립트 부분만을 설명하자면 pushTarget을 선택하는 선택한 값을 전송해 

결과 값을 받아 pushVersion이라는 selector의 option 값을 바꿔주는 소스이다.



소스의 일부분만 가져온 것이므로, 

json으로 return 받기위한 방법만을 참조하면된다.

반응형
반응형

스프링 환경에서 jsp form 을 전송하는 경우 한글이 깨지는 경우가 발생한다. 


이러한 경우 web.xml 에 아래와 같이 추가해주면, form을 전송시 한글이 정상적으로 전송되는 것을 알 수 있다.



반응형
반응형

spring mybatis mysql 을 연결하여, DB에 한글을 insert 혹은 update 하면 한글 깨짐 현상이 발생하는 경우가 있다.


이러한 경우에는 mysql 을 연결하는 url에 다음과 같은 문장을 추가하면된다. 


useUnicode=true&characterEncoding=utf8



ex)


jdbc:mysql://127.0.0.1:3306/DB명?useUnicode=true&characterEncoding=utf8

반응형
반응형

스프링 mysql 연동하는 중 한글 설정을 하는데 root-context.xml 파일에서 아래와 같은 오류가 발생했다.


The reference to entity "characterEncoding" must end with the ';' delimiter.


원인은 xml에서 & 에 대한 부분에서 발생을 하는 것이며, & 로 변경하면 에러가 사라진다.

반응형
반응형

스프링 servlet-context.xml 파일에 interceptor를 설정하는 도중 다음과 같은 에러가 발생. 


The prefix "mvc" for element "mvc:interceptors" is not bound.


다른 원인이 있을수도 있으나, 상단 beans 설정에 아래의 소스가 업어도 발생, 아래의 소스 추가 후 정상 작동


xmlns:mvc="http://www.springframework.org/schema/mvc"

반응형
반응형

스프링 시큐리티를 사용하여 비밀번호를 암호화 하는 방법을 알아보겠습니다. 


스프링 시큐리티를 찾아본 결과 설정하는 방법도 여러가지 있습니다.


여기서는 단순하게 bcrypt 방식으로 비밀번호만을 암호화 하는 방법입니다. 


전체적인 설정을 하시려면 다른 글을 참조하시는게 좋습니다.


1. 메이븐 pom.xml 에 스프링 시큐리티를 아래와 같이 추가합니다.

스프링 버전은 4.3.0.RELEASE 를 사용해주며, 스프링과 같은 스프링시큐리티 4.x 버전을 선택했습니다.

(스프링과 버전이 다르면 에러가 난다고 알고있습니다.)




2. spring-security.xml 파일을 생성합니다.

경로는 WEB-INF/spring/spring-security.xml 이며, 아래와 같은 소스로 작성을합니다.

여기서는 단순히 비밀번호만을 암호화 하기 때문에 아래와 같이 간단합니다. 




3. web.xml 에 spring-security.xml 을 추가합니다.

root-context.xml 아래에 추가했습니다. 



4.1 스프링 시큐리티 암호화 

암호화를 하려는 controller 혹은 service에서 


소스에 아래와같은 @Autowired를 추가하고, 



아래와 같은 방식으로 비밀번호를 암호화 하여, DB에 저장하면 됩니다.

여러번 실행해보면 알겠지만, 실행할때마다 암호화된 값이 다르게 나옵니다. 




4.2 스프링 시큐리티 암호화 비교

위에서 비밀번호를 암호화해서 DB에 저장을 했다면, 로그인을 할때 비교를 해야한다.

새로 암호화를 해서 DB에 저장된 값과 비교를 하면 동일한 비밀번호를 입력했지만, 암호화된 값이 다르기 때문에 비교가 불가하다.

그렇기 때문에 matches라는 메서드를 사용하여, 입력된 비밀번호와 DB에 저장된 값을 비교 할 수있다.



여기서는 암호화된 비밀번호를 DB에 저장하고, 불러오는 부분은 생략했습니다. 

일반적으로 select문을 통해 id와 pw가 일치하는 계정의 정보를 받아오는 방식하고는 다르지만,

간단하게 spring security를 사용하기 위한 방법이었습니다.



반응형
반응형

자바에서 자바스크립트 alert을 실행하는 방법


아래와 같은 스프링 예제 소스가 있습니다.


예제는 id와 pw를 받아서 해당 계정이 존재하는지 확인하는 소스이며, 

계정정보가 존재하지 않는경우 자바스크립트를 통해 alert을 보여주며, 뒤로가리를 실행합니다.



위의 소스중에서 아래의 부분이 자바에서 자바스크립트 alert을 실행하는 부분입니다. 


반응형

+ Recent posts