반응형

java.lang.ClassNotFoundException org.apache.jsp.WEB_002dINF.jsp

 

이런 오류가 발생하는 경우 대부분 잠시 뭔가 꼬여서 일어납니다.

 

간단한 해결책으로는

 

1. was를 재시작

2. was가 바라보고 있는 jsp가 컴파일되어있는 work dir clear

 

등이 있습니다.

 

저 같은 경우는 잠시 뭔가 꼬여서 이렇게 되었을거라고 섣부른 판단 때문에 삽질을 오래 했습니다. ㅜㅜ

 

실제로 jsp 파일에 문제가 있었고 그래서 jsp 컴파일이 되지 않았습니다.

문제는 로그 상에 어떤 오류도 찍어주 않았다는 것!!

 

믿었던 WAS 에게 발등 찍힌 느낌이군요;;

'로그는 진리다' 라고 생각하는 주의인데 ㅜㅜ. 아무 로그도 찍어주지 않아 jsp 문제 일거라고는 생각도 못했습니다.

 

그럼, 어떻게 JSP 문제인지 아닌 알 수 있을까?

 

방법은 간단합니다.

 

오류가 나고 있는 JSP 파일의 내용을 백업해 둔 후 내용을 모두 지우고 나서 테스트 해보는 겁니다.

 

정확하게 하려면 아래 것도 같이 해주면 확실하겠죠.

1. was를 재시작

2. was가 바라보고 있는 jsp가 컴파일되어있는 work dir clear

 

이렇게 했을 때 에러 없이 빈 화면이 나온다면 jsp 어딘가에 문제가 있는 겁니다. ㅜㅜ

 

저는 include > include > 어느 파일에선가 문제가 있었습니다.

 

include를 하나씩 지워보며 찾았더랬죠 ㅜㅜ.

 

 

반응형
반응형

Spring Boot 2.x

spring.servlet.multipart.maxFileSize=10MB
spring.servlet.multipart.maxRequestSize=10MB
반응형
반응형

STS 에서 Boot Dashboard를 통해 웹 프로젝트를 구동시에 아래 오류가 나타면서 멈춰 버리는 현상이 발생하였습니다.

 

"기본 클래스 (메인클래스명)을(를) 찾거나 로드할 수 없습니다."

 

0. 환경 

- STS + Spring boot + Gradle

 

1. 원인

- classpath 제한 길이 초과로 인한 classpath 인식 실패.

 

2. 해결책

- Run > Run Configurations > Spring Boot App > admin - AdminApplication(실행항목) > Classpath 탭

- Use temporary JAR to specify classpath (to avoid classpath length limitations) 체크

 

 

 

반응형
반응형

 

String absolutePath = IpinUtil.class.getResource("/classpath/license.data").getFile()

 

반응형
반응형

 

server.ssl.enabled=true 
server.ssl.key-alias=goni9071.tistory.com
server.ssl.key-store=classpath:goni9071.tistory.com.jks 
server.ssl.key-password=goni9071.tistory.com
server.port=443

application.properties 에 요런식으로 등록해주시면 SSL 이 가능합니다.

 

* 톰캣인증서 변환은 아래 글을 참조해주세요.

2019/05/21 - [기타] - 인증서 변환 crt to pem to p12 to jks

반응형
반응형
  <!-- Profile 설정 -->
  <profiles>
    <!-- 로컬 환경설정 -->
    <profile>
      <id>local</id>
      <activation>
        <!-- 기본 활성화 -->
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <build.environment>local</build.environment>
      </properties>
    </profile>
    <!-- 개발 환경설정 -->
    <profile>
      <id>dev</id>
      <properties>
        <build.environment>dev</build.environment>
      </properties>
    </profile>
    <!-- 운영 환경설정 -->
    <profile>
      <id>prd</id>      
      <build>
        <!-- 빌드된 결과물 저장할  경로 -->
        <directory>d:/target/tistory/goni9071</directory>
      </build>
      <properties>
        <build.environment>product</build.environment>
      </properties>
    </profile>
  </profiles>
반응형
반응형

spring boot 사용시 필터 여러개 적용하는 방법입니다.

아래 코드와 같이 FilterRegistrationBean Bean을 여러개 등록하면 됩니다.

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
 
  ...
  @Bean
  public FilterRegistrationBean encodingFilter() {
    FilterRegistrationBean registrationBean = new FilterRegistrationBean();
    CustomCharacterEncodingFilter characterEncodingFilter = new CustomCharacterEncodingFilter();
    characterEncodingFilter.setFlag("FilterRegistrationBean");
    characterEncodingFilter.setEncoding("UTF-8");
    characterEncodingFilter.setForceEncoding(true);
    
    registrationBean.setFilter(characterEncodingFilter);
    registrationBean.setOrder(Integer.MIN_VALUE);
    registrationBean.addUrlPatterns("/*");
    return registrationBean;
  }
 
  @Bean
  public FilterRegistrationBean xssFilter() {
    FilterRegistrationBean registrationBean = new FilterRegistrationBean(new XSSFilter());
    registrationBean.setOrder(Integer.MIN_VALUE);
    registrationBean.addUrlPatterns("/*");
    return registrationBean;
  }
  ...
}
반응형
반응형

Integer 끼리 비교 할 때 == 연산자로 비교하면 아니 됩니다.

public class Test {
  public static void main(String[] args) {
    Integer a = 1000;
    Integer b = 1000;
    System.out.println(a == b);
    System.out.println(a.equals(b));
    System.out.println(a.intValue() == b);
    System.out.println(1000 == a);
  }
}
false
true
true
true
반응형
반응형

STS 최신버전을 설치했더니 JSP Editor 가 없네요. ㅜㅜ.

Spring Tool Suite 4 
 
Version: 4.2.1.RELEASE
Build Id: 201904170946

이클립스 마켓에서 플러그인을 찾아서 설치해야합니다.

 

Help > Eclipse Marketplace... 

Find : Eclipse Java EE Developer Tools

 

다 설치하고 restart 하니 JSP 에디터가 보이네요@@.

반응형
반응형
# 루트 옵션
log4j.rootLogger=INFO, stdout

# 콘솔출력
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
반응형

+ Recent posts