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
반응형


Max os 에서 maven을 설치 하는 방법을 작성하려고 합니다.


windows os 환경에서 그냥 되길래 max os 에서도 당연히 되겠다...생각했지만


eclipse 에서 maven 오류가 나서 많은 시간을 소비 했던거 같아요.








그런 분들이 생기지 않게 하려고 이렇게 정리 해서 올립니다.


일단 제 맥은 jdk 1.8.121 버전을 설치 하였고 


maven 버전은 3.9.9로 설치했습니다.(참고해주세요!)







maven을 설치하기 앞서 저장할 디렉토리를 만들어 주었습니다.


터미널에서 cd ~ 로 명령어를 주시면!


기본 home으로 이동을 하실 수 있습니다.


여기서 전 alias를 ll='ls -al' 로 주어서 ll 별칭을 주어 명령어를 실행했습니다.

위와 같은 구조로 보여지게 되는데요.





이와 같은 위치에 maven 이라는 디렉토리를 만들어 주었습니다.

기본 maven 을 설치하기위한 준비는 마쳤습니다.








준비가 끝났으면 본격적인 설치를 진행 해보겠습니다.


http://maven.apache.org.downloan.cgi 를 통해


 bin.tar.gz 다운 받아 만들어둔 maven 디렉토리에 받아줍니다.


maven 디렉토리로 진입 하신다음 "tar -zcvf 파일명.tar.gz" 명령어로 압축을 풀어줍니다.



저는 이렇게 압축이 풀렸는데 버전에 따라 뒤에 숫자가 달라집니다.








vi 편집기를 통해 환경변수를 설정하겠습니다.











i 눌러서 insert를 할수 있게 변경을 합니다.


user 명에 따라서 "/Users/유저명" 유저명 부분은 변경하셔야 합니다.


그리고 전 maven으로 "ln" 명령어를 사용해서 압축 푼 디렉토리를 심볼릭 링크로 연결했습니다.


(예: ln -s apache-maven-3.3.9/)








export 명령으로 환경변수를 지정해 줍니다.


4번째 줄의 내용과 5번째 줄의 내용은 다르지만 실행은 똑같이 됩니다.


maven 홈페이지를 들어가시면 4번째로 설명이 되어있습니다.


나중에 따로 수정할 필요없이 버전 업이 되어도 사용할 수 있도록 4번째 줄을 사용했습니다.


다 입력을 하셨으면 :wq 를 해주셔서 입력과 종료명령을 해줄수 있습니다.








마지막으로 정상적으로 오류없이 입력을 환경변수 설정을 하셨다면


mvn -version 명령을 입력해서 설치여부를 확인할 수 있습니다!




 


정상 설치가 되었다면 이런 출력문이 나오면 끝!!


(~/maven/apache-maven-3.3.9/bin/mvn) 이 들어있어요~!


이로써 Spring framework 를 개발하는데 무리 없이 동작하게 되었습니다!


728x90
반응형

+ Recent posts