Spring Tools Suite 를 받아서 설치하여 기본적인 Spring Project 를 생성하여 Tomcat 으로 구동하기의 과정을 살펴보겠습니다.


전에는 이클립스에서 Spring을 받는 방식으로 사용을 했지만 요즘은 Spring Tools Suite (STS) 라고 아예 Import 되어 나옵니다.

아래의 사이트에서 직접 다운로드를 받으면 됩니다.


https://spring.io/tools




다운로드를 받고 압축을 풉니다.

zip 파일안에는 내가 압축을 푼 폴더 외에 다른 폴더가 있지만 필요가 없어 아래의 STS 폴더만 압축을 해제하였습니다.



STS 파일을 실행합니다.

그 후 원하는 위치에 workspace 를 잡아주고 확인을 눌러줍니다.




신규 프로젝트 생성하기 위하여 상단 메뉴의 File -> New -> Spring Project 를 선택 해줍니다.




Spring project 의 여러 타입 중 기본 MVC Project 로 생성을 해줍니다.



MVC Project 에서 top level Package 설정 부분이다. 설정에 의해서 1단계, 2단계, 3단계 등을 설정이 가능하며 기본으로는 최소 3단계로 되어있습니다.

원하는 package 명으로 입력합니다.




Spring 관련 Lib 를 온라인으로 다운받느라 시간이 조금 걸리니 조금만 기다려주면 아래와 같이 기본 틀로 Spring project 가 생성이 됩니다.

MVC 모델로 기본 세팅되어 생성이 되며 log4j.xml 과 servlet-context.xml 등 바로 웹이 구동 될 수 있도록 세팅이 됩니다.

그럼 바로 웹을 구동합니다.



웹을 구동하기 위하여 많이 사용하는 Apache Tomcat 을 다운로드 받습니다.

링크는 8버전으로 해두었으며 32bit 또는 64bit 로 개인 PC의 OS 에 맞는 버전으로 zip 파일을 받습니다.


http://tomcat.apache.org/download-80.cgi




그리고 다운받은 Tomcat을 압축해제하여 풀어줍니다.



STS로 돌아와 압축 푼 Tomcat 의 설정을 잡아준다. Window -> Preferences 로 이동합니다.



Server -> Runtime Environments 로 이동하여 새로 추가하기 위하여 Add 를 눌러줍니다.



우리가 다운받은 건 8버전이기 때문에 Tomcat 8버전을 선택해줍니다.



Browse 를 눌러서 설치했던 Tomcat 의 위치를 잡아줍니다.

그리고 마지막으로 저장을 해줍니다.



여기까지가 Tomcat 환경만 잡아 준 것이고 실제로 Server 를 추가해 주어야합니다.

Server 를 생성하기 위하여 탑메뉴의 File -> New -> Other  을 선택합니다.



그리고 Server 폴더의 Server 를 선택해줍니다.


우리가 환경을 잡아준 Tomcat 8 버전을 선택해줍니다.

그러면 자동으로 우리가 등록한 Tomcat 환경이 잡히는 것을 볼 수 있습니다.

마지막으로 저장하여 Server 를 등록합니다.


이렇게 서버가 정상적으로 환경 파일과 함께 등록된 것을 볼 수 있습니다.



등록된 Server 에 프로젝트를 등록하기 위하여 오른쪽 클릭하여 Add and Remove 를 선택합니다.



Spring Project 를 선택하여 Add 버튼 또는 더블클릭을 하여 서버에 Import 해줍니다.



Tomcat 서버를 시작을 해줍니다.


Windows 보안 경고창이 뜨며녀 확인을 눌러 방화벽에 액세스 허용을 해줍니다.



URL에 Tomcat 8080 포트와 함께 입력하여 들어가면 정상적으로 Hello world 가 출력되는 것을 볼수있습니다.



만약 Contextpath를 알 수 없어서 확인이 필요하다면 아래와 같은 방법으로 확인이 가능하며 수정도 가능합니다.

Tomcat Server 에 Spring Project 를 import 하게되면 보통 Project 명에 따라 자동으로 ContextPath가 생성이 됩니다.

ContextPath 의 경우 server.xml 에서 확인이 가능합니다.


해당 코드의 path 부분입니다.



또한 Spring Project 에 우클릭하여 Properties -> Web Project Settings 에 들어가면 현재 Context root 명을 알수 있습니다.


'Develop > Spring' 카테고리의 다른 글

aop 사용 방법  (0) 2023.02.22
[Mybatis] insert 하고 seq key 값 가져오기  (0) 2015.12.17
Spring File Download  (0) 2015.11.23


이번에 소개 하는 jQuery Plugin 은 DataTables 라는 Grid 종류의 라이브러리입니다.

보통 개발할 때 데이터 리스트 출력 시 반복문으로 <tr><td>데이터</td><tr> 방법으로 출력을 많이 하게됩니다.

특별히 Grid 를 사용하지 않는 경우 html Tag 안에서 처리하는 경우가 많습니다.


이러한 방법으로 개발을 한다고해서 잘못된 코딩방법도 아니고 잘못 짜여진 소스도 아닙니다.

단지 리스트 출력 외에 여러 부가적인 기능들을 직접 코딩하여 개발을 하려면 시간도 많이 걸리고 디버깅도 쉽지가 않습니다.

에를 들어 Multi Sorting 이나 Paging 처리 라던지 직접 구현하려면 그만큼 시간도 듭니다.


하지만 괜찮은 Plugin 하나를 잘 알고 쉽게 다룰줄 안다면 쉽게 구현이 가능합니다.

그래서 이번에 사용해본 DataTables 같은 경우 많은 기능도 있고 특히 예제와 설명이 잘되어있어 사용하기 편리합니다.


https://www.datatables.net/


아래는 프로젝트에서 직접 개발했던 코드입니다.

코드를 간략하게 설명하자면 HTML 코드 부분은 단순하게 데이터 리스트의 컬럼과 위치만 잡는 역활을 하며

실제 데이터 출력은 javascript 부분의 ajax 함수에서 Json으로 가져와 리스트를 출력하게 됩니다.

Column 별로 rendering을 직접 구현도 가능하며 데이터 값에 따라 버튼의 유무 표현을 쉽게 할 수 있습니다.



1.Javascript 코드


2. HTML 코드


'Develop > jQuery' 카테고리의 다른 글

jQuery dynatree plugin (트리구조 라이브러리)  (0) 2015.11.24
jQuery Validation Plugin  (0) 2015.11.23


jQuery Plugin 중에 이름 그대로 validation 기능을 하는 plugin 입니다.

특히 사용자 등록, 수정 또는 검색 조건 입력 부분과 같이 사용자가 입력하는 부분에 validation 체크와 함께 메세지를 편리하게 사용 가능합니다.


장점은 역시 가독성이 좋고 정규화 되어있기 때문에 편리합니다.

특히 if else, for, switch 등등 소스가 정신없이 되어있지만 jQuery Validation Plugin 쓰면 깔끔해서 좋습니다.


사용법은 아래 링크에 들어가면 예제와 함께 금방 익힐 수 있습니다.

http://jqueryvalidation.org/




'Develop > jQuery' 카테고리의 다른 글

jQuery dynatree plugin (트리구조 라이브러리)  (0) 2015.11.24
jQuery DataTables Plugin  (0) 2015.11.24


이클립스에서 Tomcat 을 구동하려고 하는데 에러가 날 경우가 있습니다.


"The specified JRE installation does not exist"


이런 오류가 나는 이유는 Tomcat 이 JRE 를 찾지 못해서 나는 경우입니다.

Tomcat Server 의 JRE만 재세팅해주면 됩니다.











보통 개발자는 CSS 또는, Image 를 만들거나, 수정하거나 할 일이 거의 없습니다.

특히 디자이너가 없을 경우 Web 개발 시 디자인을 수정하거나 추가할 경우 난감할 경우들이 있죠.

그래서 보통  jQuery UI 으로 많이 사용한다. jQuery UI도 좋지만 좀더 폭 넓게 다양한 UI 적 요소가 필요할 경우가 있습니다.

그래서 저같은 경우에는 UI Framework 를 주로 사용합니다.


UI Framework 같은경우 가장 큰 장점은 전체적인 UI 부분을 대부분 제공한다고 보면됩니다.

아이콘부터 시작해서 전체적인 화면의 틀을 제공합니다.. 

그래서 화면이 디자이너가 만든 것처럼 괜찮습니다.


저의 경우에는 이번 프로젝트에 예전에 써먹어봐야지 하던 Bootstrap을 사용했습니다.

Bootstrap 의 경우 대략적으로 샘플만 몇개봐도 디자인이 이쁩니다.

특히 개발자 입장에서 Bootstrap 사용하기가 참 편한게 Grid 라는 시스템이 너무 좋습니다.

Grid System 을 간략히 설명하자면 총 12개의 칸으로 나누어 class 로 칸을 나누어 쓰는 시스템입니다.

이게 편한 이유가 사용자 등록 화면이라던지 조회 화면의 입력 부분들을 나누기가 정말 편합니다.



Boostrap 에는 이러한 기능들 말고도 다양한 기능들이 많이 있습니다.

http://getbootstrap.com/ 직접 들어가서 한번 예제만 간단히 보면 쉽게 이해하실수 있습니다.


Bootstrap을 완벽히 잘 알지는 못하지만 이러한 Bootstrap을 가지고 만든 UI Framework 가 바로 AdminLTE 입니다.

Bootstrap + DataTables + DatePicker 등등 여러가지 플러그인을 조합해서 하나의 커다란 툴을 만들었습니다.

특히 이번에 소개하는 AdminLTE의 경우 이름처럼 관리자 화면에 맞게 그래프라던지 화면 구조가 참 잘되어 있습니다.

직접 들어가서 확인해 보시죠. https://almsaeedstudio.com/preview



처음에는 모르는 상태에서 이 툴을 사용하려고 하면 복잡하게 느껴질 것입니다.

하지만 조금만 건들여보고 테스트해보고 익혀둔다면 디자이너가 없는 프로젝트나 개인 프로젝트에서 충분히 좋은 UI Framework 가 될 것입니다.

로그인 화면부터 메뉴구성, 화면 구성 등 대부분이 다 구현되있어 정말 바로 개발해도 됩니다.


그리고 가장 중요한 오픈 소스이니 걱정하지 말고 쓰면 됩니다!!




Spring Framework 에서 File download 를 쉽게 구현이 가능합니다.

파일 다운로드를 구현하는 방법은 다양하지만 Spring 을 사용 중이라면 Servlet 세팅만으로 쉽게 가능합니다.

전체적인 로직은 파일 다운로드 URL 요청 시 해당 파일을 찾아 JSP 페이지가 아닌 Class 로 구현된 View 로 연결하여 Stream으로 요청한 Client 쪽으로 전달합니다.

해당 파일 다운로드 View만 구현해 놓으면 간단하게 파일 다운로드가 필요한 곳에서 호출만 해주면 됩니다.


1. dispatcher-servlet.xml 파일에 bean 등록



2. view 역활을 대신 할 class를 생성




3. 파일 다운로드 요청 URL에서 생성한 View로 전달



'Develop > Spring' 카테고리의 다른 글

aop 사용 방법  (0) 2023.02.22
[Mybatis] insert 하고 seq key 값 가져오기  (0) 2015.12.17
STS 설치 및 Spring Project 만들기  (0) 2015.11.24


Java에서  제공하는 HttpURLConnection 으로 Http 연결이 가능합니다.

http 연결이라고 하면 간단히 우리가 인터넷 익스플로러나 크롬과 같이 웹에서 요청하는 것과 같이 Java 에서 요청합니다.

기본적으로 GET 방식과 POST 방식 둘다 가능하며 예제 소스는 "GET" 방식만 넣어두었습니다.


우리가 javascript 또는 jQuery 에서 GET 방식 호출하듯이 동일하게 URL 뒤에 파라미터를 붙여서 전송하게 됩니다.

예) http://127.0.0.1:8080/send?key=데이터




'Develop > Java' 카테고리의 다른 글

LocalDateTime 사용하여 날짜 처리  (1) 2022.01.19
Java AES 128 암복호화  (0) 2015.11.23


자바에서는 기본적으로 AES 128bit 암호화를 제공합니다.

보통 암호화는 크게 단방향, 양방향이 있습니다.

단방향의 경우 별도의 복호화를 할 필요가 없기 때문에 별도의 key가 없습니다.

하지만 양방향의 경우 암호화한 데이터를 다시 복호화하기 위하여 별도의 key가 필요합니다.


1. AES 128 bit 암호화 예제

암복호화에 필요한 SecretKey를 만든 뒤 해당 key로 암호화를 합니다.


2. AES 128 bit 복호화 예제

암호화했단 key로 복호화를 합니다.



'Develop > Java' 카테고리의 다른 글

LocalDateTime 사용하여 날짜 처리  (1) 2022.01.19
Java Http Request  (0) 2015.11.23

+ Recent posts