ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Boot + JSP + Maven IntelliJ에서 개발하기
    코딩/개발관련 2021. 12. 4. 20:15
    SMALL

    급작스럽게 투입된 회사 프로젝트에서 환경이 Spring Boot + JSP 조합이였다. 

     

    모두 이클립스를 사용하시는데 IntelliJ에서 개발하지 못하면 생산성이 뚝뚝 떨어질꺼 같아서 여러가지 삽질을 하면서 셋팅을 했다.

     

    이슈 1. maven proxy

    이슈 2. maven

    이슈 3. JSP dependency

    이슈 4. Spring Boot run

     

    이슈 1. maven proxy

     

    회사 내부에서 사용을 하다보니 proxy 설정이 필요했다.

    인텔리제이에서 maven 설정을 보니 기본 repository기본 settings 파일을 가르키고 있어서 settings 파일에서 proxy를 설정함.

     

    기본 settings 주소 : C:\Users\[본인 컴퓨터 유저명]\.m2\settings.xml

    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
      <proxies>
        <proxy>
          <id>http-proxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host> proxy 대상 IP </host>
          <port>8080</port>
          <nonProxyHosts> 127.0.0.1|localhost </nonProxyHosts>
        </proxy>
        <proxy>
          <id>https_proxy</id>
          <active>true</active>
          <protocol>https</protocol>
          <host> proxy 대상 IP </host>
          <port>8080</port>
          <nonProxyHosts> 127.0.0.1|localhost </nonProxyHosts>
        </proxy>
      </proxies>
      <mirrors>
        <mirror>
          <id>central_mirror</id>
          <name>central_mirror</name>
          <url> mirror할 url 주소 적기 </url>
          <mirrorOf>central</mirrorOf>
        </mirror>
      </mirrors>
    </settings>

     

    이슈 2. maven

     

     

     

    maven을 처음 사용하는 부분이라 pom.xml 과 maven의 명령어들 (clean, compile, install .. ) 에 대해 알 필요가 있었다.

     

    명령어 설명
    clean  maven build 시 생성된 모든 것들을 삭제한다.
    compile  컴파일 수행
    test  컴파일 수행 후 테스트 클래스 수행
    package  컴파일 수행 후 컴파일 소스를 pacakging 양식에 맞춰서 target 디렉토리에 생성
    install  package 를 한 이후에 로컬 repository에 배포한다.
    deploy install 를 한 이후에 원격 repository에 배포한다.

     

     

     

    이슈 3. JSP dependency

     

     

    JSTL과  tomcat-embed-jasper 을 dependency에 설정해준다.

     

    - JSTL은 JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공한다. 

     

    - tomcat-embed-jasper은 JSP 파일을 servlet으로 변환하는 컴파일러이다.

    스프링 부트 앱에는 톰캣 서버가 내장되어 있고, 톰캣 서버는 servlet을 실행하는데 이 때 톰캣에서 JSP 파일을 먼저 servlet으로 컴파일을 한 후 실행된다. 그 때 tomcat-embed-jasper가 JSP를 servlet으로 컴파일 시켜준다.

     

    spring-boot-strater-web에는 tomcat-embed-jasper 이 패키지가 포함되어 있지 않다. 별도 설치 필요

     

    <dependency>
    	<groupId>javax.servlet</groupId>
    	<artifactId>jstl</artifactId>
    	<version> 맞는 버전 </version>
    </dependency>
    <dependency>
    	<groupId>org.apache.tomcat.embed</groupId>
    	<artifactId>tomcat-embed-jasper</artifactId>
    	<version> 맞는 버전 </version>
    </dependency>

     

     

    이슈 4. Spring Boot run

     

    Run configuration 에서도 spring boot가 아닌 maven으로 실행

     

    command line에 spring-boot:run을 입력해서 실행을 해준다.

     

     

     

    LIST

    댓글

Designed by Tistory.