728x90
반응형

 

Spring Boot 2.0 기준으로 작성되었습니다.

 

홈페이지를 만들었는데 소스코드가 보여지는 에러페이지가 보여진다면

 

사용자 입장에서 잘 만들어진 홈페이지라고 생각하지 않을겁니다.

 

 

 

 

이런 디테일함 하나가 좋은 사이트를 만드는데 상당히 중요합니다.

 

간단하게 등록하는 방법을 알아보겠습니다.

 

 

 

 

먼저 맞춤 HTML 오류 페이지를 만들어야합니다.

 

Thymeleaf  템플릿 엔진을  사용하기 때문에 error 파일을 저장합니다 .

 

resource > templates 안에 error 페이지를 담는 package 를 만들었습니다.

 

handleError 에서 return 해주는 이름과 맞춰주면 됩니다.

 

 

 

 

 

ErrorController 인터페이스 를 구현하는 클래스를 만들고 

 

getErrorPath ()   재정의하여 오류 발생시 호출 할 사용자 정의 경로를 반환해야합니다.

 

getErrorPath ()에 의해 반환 된 경로에 대한 매핑을 만듭니다 . 

 

이렇게하면 컨트롤러가 / error  경로 에 대한 호출을 처리 할 수 ​​있습니다 .

/*
 * Error Custom Page Controller
 */
@Controller
public class ApiErrorController implements ErrorController {
    
    private final String ERROR_PATH = "/error";
    
    public ApiErrorController() { }
 
    @RequestMapping("/error")
    public String HandleError(HttpServletRequest request) {
        Object status = request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE);
        
        if(status != null) {
            Integer statusCode = Integer.valueOf(status.toString());
            
            if(statusCode == HttpStatus.NOT_FOUND.value()) {
                return ERROR_PATH+"/error-404";
                
            } else if(statusCode == HttpStatus.INTERNAL_SERVER_ERROR.value()) {
                return ERROR_PATH+"/error-500";
            }
        }
        
        return ERROR_PATH+"/error";
    }
 
    @Override
    public String getErrorPath() {
        return "/error";
    }
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

 

그런 다음 404 오류의 경우 예를 들어 error-404.html 페이지가 표시됩니다.

 

 

728x90
반응형

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] Gradle 외부 Jar 등록  (0) 2019.04.22
[Spring] Spring Boot 2.0 @Configuration  (0) 2019.04.17
[Spring] Spring Boot Servlet 등록  (0) 2019.04.17
[Spring] web.xml Servlet 스키마  (0) 2019.04.17
MAC OS에 maven 설치  (0) 2019.02.26
728x90
반응형

 

Spring boot 환경에서는 web.xml 을 사용하지 않고 자바 소스코드로 설정을 등록합니다.

 

이전글에서 Virtual Key 샘플을 간단하게 구현을 해봤지만 JAVAEE 에서였고,

 

이번엔 Springboot 환경에서 구현을 하는데 Servlet 등록을 어떻게 하는지 알아보겠습니다.

 

https://gigas-blog.tistory.com/101

 

[Java] Webponent Virtual Key 샘플 구현

이전에 소개했던 가성비 좋은 HTML 기반 보안키패드를 구현해보려고 합니다. https://gigas-blog.tistory.com/100 WebPonent Virtual Key - HTML 보안 키패드 웹과 하이브리드 앱에서 사용할 수 있는 보안키패드를..

gigas-blog.tistory.com

 

 

 

 

web.xml 이 더이상 사용되지 않기 때문에 org.springframework.boot.web.servlet 의 RegistrationBean을 통해 등록해야 합니다.

 

ServletRegistrationBean의 생성자에 등록할 Servlet Class 를 주입해주고,

 

addUrlMappings 에 web.xml 에의 Servlet-mapping > url_pattern 값을 넣어주면 됩니다.

 

import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import eltz.apps.keypad.VirtualPadServlet;

@Configuration
public class ServletRegistrationConfig {

    @Bean
    public ServletRegistrationBean<VirtualPadServlet> getServletRegistrationBean() {
        
        ServletRegistrationBean<VirtualPadServlet> registrationBean = new ServletRegistrationBean<>(new VirtualPadServlet());

        registrationBean.addUrlMappings("/EltzKey/*");
        return registrationBean;
    }
}
 
 

 

 

이것저것 많은 방법을 찾아보고 등록해봤지만 잘 안되었고

 

위와 같은 방법을 적용해서 정상적으로 Servlet 이 등록된걸 확인할 수 있었습니다.

 

728x90
반응형

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] Gradle 외부 Jar 등록  (0) 2019.04.22
[Spring] Spring Boot 2.0 @Configuration  (0) 2019.04.17
[Spring] Spring Boot 2.0 Error Custom Page  (0) 2019.04.17
[Spring] web.xml Servlet 스키마  (0) 2019.04.17
MAC OS에 maven 설치  (0) 2019.02.26
728x90
반응형

 

Servlet 버전의 차이로 프로젝트 설정이 많이 바뀔수 있습니다.

 

Servlet 버전을 수정하는 방법을 알아보았습니다.

 

 

 

 

web.xml Servlet 2.5 스키마를 사용하는 파일의 헤더

<?xml version="1.0" encoding="UTF-8"?>
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      version="2.5">
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

web.xml Servlet 3.0 스키마를 사용하는 파일의 헤더

<?xml version="1.0" encoding="UTF-8"?>
      version="3.0">
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

web.xml Servlet 3.1 스키마를 사용하는 파일의 헤더

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    version="3.1">
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

 

 

web.xml Servlet 4.0 스키마를 사용하는 web.xml 파일의 헤더

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    version="4.0">
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

 

728x90
반응형

'프로그래밍 > Spring' 카테고리의 다른 글

[Spring] Gradle 외부 Jar 등록  (0) 2019.04.22
[Spring] Spring Boot 2.0 @Configuration  (0) 2019.04.17
[Spring] Spring Boot 2.0 Error Custom Page  (0) 2019.04.17
[Spring] Spring Boot Servlet 등록  (0) 2019.04.17
MAC OS에 maven 설치  (0) 2019.02.26
728x90
반응형

 

WebtoB 기본 Log 위치는 $WEBTOBDIR/log 입니다.

 

하지만 설정파일을 수정하여 위치를 변경할 수 있습니다.

 

 

 

 

log Directory 안에 있는 파일입니다.

 

syslog

 

WebtoB Engine 에서 남기는 로그로 WebtoB 의 이상 유무를 체크하여 로그로 남깁니다.

 

특이한 이상이 없는 한 많은 로그를 남기지 않습니다.

 

일별로 생성되며 기본 위치는 $WEBTOBDIR/log/syslog_00000000.log 입니다.

 

 

 

 

errorlog

 

Client가 웹으로 접속하여 호출 시 에러가 발생한 모든 uri 정보를 남깁니다.

 

일별로 생성되며 기본 위치는 $WEBTOBDIR/log/errorlog_00000000.log 입니다.

 

 

 

 

accesslog

 

클라이언트가 웹으로 접속시 호출하는 모든 요청정보를 남깁니다.

 

요청이 많으면 파일크기가 상당히 커지므로 이 로그는 특히 신경을 써서 관리해야 합니다.

 

일별로 생성되며 기본 위치는 $WEBTOBDIR/log/accesslog_00000000.log 입니다.

 

728x90
반응형
728x90
반응형

 

설정파일은 $WEBTOBDIR/config/ 에 있습니다.

 

http.m 파일안에서 WebtoB 설정을 지정할 수 있습니다.

 

http.m 을 수정하고 난 뒤엔 컴파일을 무조건 해줘야 합니다.

 

 

 

 

 

wscfl 을 이용해서 컴파일을 할 수 있습니다.

 

옵션은 아래와 같습니다.

 

-i 파일이름 : 컴파일 할 설정파일

 

-o 파일이름 : 컴파일 된 설정파일 ( default: wsconfig ) 

 

예를들어 wscfl -i http.m 이렇게 명령어를 입력하면 됩니다.

 

 

 

 

 

설정파일을 컴파일 하고 난 뒤엔 WebtoB를 재시작해주면 적용됩니다.

 

wsdown : WebtoB 종료 명령어

 

wsboot : WebtoB 기동 명령어

 

728x90
반응형
728x90
반응형

 

매번 잊어 버리거나 다시 찾게되는 WebtoB Directoy 구조 입니다.

 

- bin : 실행파일 Directory

 

- config : 환경파일 Directory

 

- docs : Node 절 DOCROOT의 설치 기본 Directory

 

- lib : 시스템 Library Directory

 

- license : WebtoB 라이센스 Directory

 

- log : WebtoB 로그 Directory

 

- path :

 

- ssl :

 

 

 

 

 

부족한 부분은 업데이트 하도록 하겠습니다.

 

728x90
반응형
728x90
반응형

 

이전에 소개했던 가성비 좋은 HTML 기반 보안키패드를 구현해보려고 합니다.

 

https://gigas-blog.tistory.com/100

 

WebPonent Virtual Key - HTML 보안 키패드

웹과 하이브리드 앱에서 사용할 수 있는 보안키패드를 소개하겠습니다. HTML 기반으로 다양한 환경에서 사용이 가능하다는 장점이 있는 VirtualKey 입니다. 주민번호를 입력하는곳과 비밀번호 등 개인정보에 민감..

gigas-blog.tistory.com

 

 

 

로그인을 하고 나서 트라이얼 라이센스키를 발급받으면 기본 샘플 소스를 제공합니다.

 

아래 사이트에서 샘플소스를 받았다는 가정으로 진행하도록 하겠습니다.

 

https://solution.cyber-i.com/products/ui/keypad_summary.htm

 

vk개요

 

solution.cyber-i.com

 

 

 

 

다운을 받은 샘플파일 구조는 아래와 같습니다.

 

 

 

 

적용방법은 아래와 같이 진행하겠습니다.

 

 

 

webPonent Virtual Key 솔루션은 Java 언어만 지원함으로 Eclipse 를 사용해서 작성하도록 하겠습니다.

 

Eclipse 프로그램에서 Web Project를 생성하겠습니다.

 

 

 

 

 

저는 프로젝트 이름을 VirtualKeyDemo 라는 이름으로 생성하겠습니다.

 

Finish를 클릭하면 새로운 프로젝트가 생성됩니다.

 

 

 

 

생성된 프로젝트 구조입니다.

 

이젠 샘플파일들을 복사해서 붙여넣겠습니다.

 

 

 

WebContent 아래에 keypad 폴더를 붙여넣었고

 

WEB-INF 아래에 web.xml 과 webPonent.virtualKey.license 파일을 

 

마지막으로 lib 아래에 eltz-keypad.jar 파일을 넣어주었습니다.

 

 

 

 

 

이것만으로도 샘플 화면은 보여질수 있지만 정작 보안키패드는 보여지지 않습니다.

 

http://localhost:8080/VirtualKeyDemo/keypad/sample.html

 

URL 중간에 프로젝트 명이 들어가면서 샘플 소스에서 키패드를 띄우는 html을 찾지 못합니다.

 

기본 프로젝트 구조때문인데 키패드 html 을 찾을 수 있도록 조금 수정해 보도록 하겠습니다.

 

 

 

 

Eclipse 하단에 연결되어있는 Tomcat 서버를 더블클릭합니다.

 

 

 

 

 

서버의 설정을 할 수 있는 화면이지만 이부분은 수정하지 않고 아래 Modules 탭으로 이동합니다.

 

 

 

 

 

아래와 같이 서버와 연결된 프로젝트가 보여지게 되고. 프로젝트를 선택하고 우측 메뉴의 Edit 버튼을 클릭합니다.

 

 

 

 

Path 의 내용을 / 로 변경해주면 URL 에서 Project 명 없이 접근할 수 있게 됩니다.

 

 

 

 

 

Path를 수정하고 Tomcat 서버를 재시작 합니다.

 

http://localhost:8080/keypad/sample.html

 

그러면 프로젝트 명을 빼도 접근이 가능하게 됩니다.

 

내부 샘플 소스에서도 키패드 html 을 잘 찾아오면서 키패드가 잘 보여지게 됩니다.

 

 

 

 

정말 간단하게 구현할 수 있고 별도의 보안프로그램 설치 없이도 사용가능한 webPonent Virtual Key 샘플을 구현해봤습니다.

 

Eclipse 와 Java 언어를 사용하신 분들이라면 쉽게 구현이 가능할것이라고 생각합니다.

 

728x90
반응형
728x90
반응형

 

일주일의 내용을 보여주는데 오늘 날짜가 포함된 주만 보여주고 싶을때가 있습니다.

 

오늘이 포함된 주일의 실적, 사용내역 등 다양하게 사용될 수 있습니다.

 

간단하게 진행해보겠습니다.

 

 

 

 

to_char를 통해 'd' day 를 가져옵니다.

 

day 다음과 같은 숫자 - 일요일(1) 월(2) 화(3)수(4)목(5)금(6)토(7) 로 맵핑 됩니다.

 

예를 들어 금(6) 이나왔다면 일주일 내에 정보를 보여주려면 6-1 로 해주어야 일요일부터 나오게 됩니다.

 
select
       to_char(a.cur_date, 'yyyy-mm-dd') as 일요일
     , to_char(a.cur_date+1,   'yyyy-mm-dd') as 월요일
     , to_char(a.cur_date+2'yyyy-mm-dd') as 화요일
     , to_char(a.cur_date+3'yyyy-mm-dd') as 수요일
     , to_char(a.cur_date+4'yyyy-mm-dd') as 목요일
     , to_char(a.cur_date+5'yyyy-mm-dd') as 금요일
     , to_char(a.cur_date+6'yyyy-mm-dd') as 토요일
  from (
      select sysdate - (to_number(to_char(sysdate,'d'))-1) as cur_date
        from dual
       ) a;
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 
 

 

 

위의 쿼리를 실행한 결과 아래 처럼 일주일 날짜가 나오게 됩니다.

 

제가 실행한 오늘은 4월 12일 금요일 입니다.

 

 

 

 

쉽고 간편하게 오늘이 포함된 일주일 정보를 만들어 볼 수 있었습니다.

 

728x90
반응형

'프로그래밍 > Oracle' 카테고리의 다른 글

[Mac OS X] Docker 환경에서 Oracle 11g 설치  (0) 2019.05.02
728x90
반응형

 

웹과 하이브리드 앱에서 사용할 수 있는 보안키패드를 소개하겠습니다.

 

HTML 기반으로 다양한 환경에서 사용이 가능하다는 장점이 있는 VirtualKey 입니다.

 

 

 

 

주민번호를 입력하는곳과 비밀번호 등 개인정보에 민감한 사이트는 보안을 중요시 여깁니다.

 

하지만 NSHC에서 제공하는 솔루션은 보안성은 좋지만 너무 높은 금액대를 형성하고 있어 사이트나 앱을 유지하는게 어렵습니다.

 

 

 

 

저렴하게 유지할 수 있는 솔루션을 찾아보다가 syber-imagination 이라는 회사에서 만든 Webponent Virtual Key 를 알게되었습니다.

 

아래 사이트에 들어가면 상세한 정보를 확인할 수 있습니다.

 

https://solution.cyber-i.com/products/ui/keypad_summary.htm

 

vk개요

 

solution.cyber-i.com

 

 

 

 

 

다만 아쉬운건 Server 언어를 Java만 지원하고 있다는 겁니다.

 

HTML5 기반이라고 나와는 있지만 그것 사용자 입장에서 화면에 보이는 부분만 HTML5라는것이고

 

내부적인 보안처리는 Java에서 처리하는 구조입니다.

 

그렇기 때문에 Python 이나 PHP에선 사용이 불가능하다는 단점이 있습니다.

 

 

 

 

개발 테스트를 할 수 있도록 데모 라이센스를 30일동안 제공하고 있고 쉽고 간편하게 구현이 가능합니다.

 

 

 

간편하게 사용할 수 있어 초보자도 쉽게 구현이 가능합니다.

 

https://gigas-blog.tistory.com/101

 

[Java] Webponent Virtual Key 샘플 구현

이전에 소개했던 가성비 좋은 HTML 기반 보안키패드를 구현해보려고 합니다. https://gigas-blog.tistory.com/100 WebPonent Virtual Key - HTML 보안 키패드 웹과 하이브리드 앱에서 사용할 수 있는 보안키패드를..

gigas-blog.tistory.com

 

 

 

 

저렴한 가격으로 사용할 수 있는 큰 장점이 있는 Virtual Key 어렵지 않게 사용해 보세요.

 

728x90
반응형

'프로그래밍 > Solution' 카테고리의 다른 글

[Heroku] 헤로쿠 회원가입  (0) 2021.06.23
728x90
반응형

 

Python Django FrameWork 를 사용할때 필요한 기본 명령어 입니다.

 

아래의 명령어들은 서비스를 만들 때 빈번하게 사용합니다.

 

대략적인 쓰임새를 기억해두고 프로젝트를 만들어 가면서 사용법을 익혀보세요.

 

 

 

 

django-admin startproject

 

장고 프로젝트를 만드는 명령어이며, 웹 서비스를 만들 때마다 한번 실행합니다.

 

이후 명령들은 django-admin 을 이용해 실행할 수 있지만 보통 python manage.py 를 통해 실행합니다.

 

 

 

 

startapp

 

프로젝트 기능 단위인 앱을 새로 만듭니다.

 

 

 

 

makemigrations

 

어플리케이션에 변경 사항을 추적하여 DB에 적용할 내용을 정리합니다.

 

보통 앱 안에 있는 모델(model)의 변경 사항이 있을 때 주로 사용합니다.

 

 

 

 

sqlmigrate

 

실행할 SQL 명령문을 출력합니다.

 

어떤 명령문을 실행할지 확인할 때 사용하며, 튜닝이 안된 쿼리나 슬로우(slow) 쿼리 여부를 확인할 수 있습니다.

 

 

 

 

 

migrate

 

실제 변경사항을 DB에 반영할때 사용합니다.

 

 

 

 

 

showmigrations

 

프로젝트의 DB 변경사항 목록과 상태를 출력합니다.

 

 

 

 

 

runserver

 

테스트 서버를 실행합니다.

 

웹 서비스를 실제로 동작시켜 확인할 때 사용합니다.

 

 

 

 

 

dumpdata

 

현재 DB의 내용을 백업할 때 사용합니다.

 

 

 

 

 

loaddata

 

백업 파일에서 DB 내용을 복구 할 때 사용합니다.

 

 

 

 

 

flush

 

DB 테이블은 그대로 두고 테이블의 내용만 전부 삭제 합니다.

 

 

 

 

 

shell

 

장고 쉘(shell)을 실행합니다.

 

작성한 모델 등을 불러와 실제로 테스트를 해볼 수 있습니다.

 

 

 

 

 

dbshell

 

DB에 직접 접근할 수 있는 쉘을 실행합니다.

 

장고 어플리케이션에 문제가 있어 관리자 페이지에 접근할 수 없을 때 보통 shell을 이용해 DB를 수정하는데

 

SQL 구문을 이용해 직접 수정하고 싶다면 dbshell을 이용할 수 있습니다.

 

 

 

 

 

createsuperuser

 

관리자 계정을 생성합니다.

 

 

 

 

changepassword

 

계정의 비밀번호를 변경할 수 있습니다.

 

 

728x90
반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Python3] Atom 에서 Python 실행  (0) 2019.04.03
[Python3] Django 관리자  (0) 2019.04.02
[Python3] manage.py migrate 에러  (0) 2019.04.01
[Python3] Django 개발용 웹 서버  (0) 2019.03.31
[Python3] Django 프로젝트 생성  (0) 2019.03.30

+ Recent posts