티스토리 뷰

1.    스프링 설치 방법

-      1 ) Eclipse --> Help --> Eclipse Marketplace으로 들어가서 Marketplace client가 업데이트 항목에 있다면 업데이트 하기

-      2 ) Eclipse 의 설정파일(eclipse.ini)Sublime Text로 열어서 -vm에서 현재 설정된, JAVA 버전(테무린) 11인지 확인해야 한다. (***)

-      3 ) 브라우저에서 Eclipse Marketplace을 검색하여, Eclipse Marketplace web site로 이동한다.

-      4 ) Eclipse Marketplace web site에서 "spring"을 검색하여 Spring Tools 3 Add-On for Spring Tools 4를 찾는다.

-      5 ) 해당 이름의 이모티콘 아래에 있는 Install 버튼을 클릭하지 말고!! 드래그&드롭 형식으로 Eclipse에 아무대서나 drop한다.

-      6 ) 그러면 설치 창이 나타나게 된다.

-      7 ) 그러면 Plug options를 선택해야 하는데, 필수로 선택하는 것을 제외한 옵션들을 모두 선택 해제한 후, Spring AOP , Spring Autowire, Spring Maven, Spring DashBoard만 선택한다.

-      8 ) 이렇게 되면 선택항목은 Required, Spring AOP , Spring Autowire, Spring Maven, Spring DashBoard로 총 4개가 선택되게 된다.

-      9 ) 다음으로 넘어가면 설치가 진행되다가 중간에 X.509 인증서 trust ? 팝업창 나오면 반드시 체크박스 check 하고 "trust"버튼 클릭한다.

-      10 ) 플러그인이 설치를 마치고 restart 팝어창 나오면, 반드시 Yes를 눌러 재시작을 한다.

-      11 ) new project > Spring > Spring Legacy Project > mvc 신규 프로젝트 생성시, 오류가 없으면 성공이다.

 

2.    Spring MVC Project 생성 방법 및 설정 방법 (***)

-      1 ) New Project > Spring > Spring Legacy Project 선택

-      2 ) Spring MVC Project 선택

-      3 ) Project 이름 작성 후, Top-level package 입력 ( org.zerock.myapp )

-      4 ) 새로운 Maven 기반의 Spring MVC Project 생성 완료

-      5 ) pom.xml 파일 편집

-      + Spring 기반의 개발을 위해서 아래의 2가지 framework 의존성 설정을 알아야 한다.

-      + [ 1 ] AspectJ : 클래스파일의 바이트 코드 조작 언어

-      + [ 2 ] Spring  : 스프링MVC 개발을 위한 최소한의 2 sub framework 의존성 설정

-      -> spring-context, spring-webmvc

-      6 ) src/main/webapp/WEB-INF/web.xml 설정파일 설정

-      + 특히 기본 2.5 버전의 top-level tag, version 4.0 이상으로 변경해줘야 한다.

-      + 이 이후에 오류나는 부분이 없나 확인해야 한다.


[ 1. 프로젝트 생성 ] (****)

 

[ 1 - 1. Spring Legacy Project -> Spring MVC Project 생성 후, pom.xml 파일 설정 ]

 

<?xml version="1.0" encoding="UTF-8"?>


<project
	xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/maven-v4_0_0.xsd">

	<modelVersion>4.0.0</modelVersion>

	<groupId>org.00000</groupId>
	<artifactId>springmvc</artifactId>
	<version>1.0.0-BUILD-SNAPSHOT</version>

	<packaging>war</packaging>

	<!-- 이 프로젝트에 대한 홍보 사이트 ( 부가적인 메타 데이터 ) -->
	<name>springmvc</name>
	<url>http://springmvc.example.com</url>
	<description>Spring MVC project</description>


	<!-- 프로젝트의 속성을 설정 -->
	<properties>
		<java-version>11</java-version>
		<!-- <java-home>${env.JAVA_HOME}</java-home> -->

		<!-- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target> -->

		<org.springframework-version>5.3.21</org.springframework-version>
		<org.aspectj-version>1.9.9.1</org.aspectj-version>
		<org.apache.logging.log4j-version>2.17.2</org.apache.logging.log4j-version>
	</properties>


	<dependencies>

        <!-- =============== Logging =============== -->

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${org.apache.logging.log4j-version}</version>
        </dependency>

        <!-- For Spring framework, HikariCP, DriverSpy logging -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>${org.apache.logging.log4j-version}</version>
        </dependency>


        <!-- ============= Servlet/JSP ============= -->
			
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.1</version>
			<scope>provided</scope>
		</dependency>
	
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>2.3.3</version>
			<scope>provided</scope>
		</dependency>

		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>


        <!-- =============== AspectJ =============== -->
				
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>

		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>


        <!-- ================ Spring =============== -->

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>


        <!-- =============== JDBC =============== -->

		<dependency>
			<groupId>org.bgee.log4jdbc-log4j2</groupId>
			<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
			<version>1.16</version>
		</dependency>
		  
		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc8-production</artifactId>
			<version>21.5.0.0</version>
		
			<type>pom</type>
		
			<exclusions>
				<exclusion>
					<groupId>com.oracle.database.ha</groupId>
					<artifactId>simplefan</artifactId>
				</exclusion>
		
				<exclusion>
					<groupId>com.oracle.database.ha</groupId>
					<artifactId>ons</artifactId>
				</exclusion>
		
				<exclusion>
					<groupId>com.oracle.database.jdbc</groupId>
					<artifactId>rsi</artifactId>
				</exclusion>
		
				<exclusion>
					<groupId>com.oracle.database.jdbc</groupId>
					<artifactId>ucp</artifactId>
				</exclusion>
		
				<exclusion>
					<groupId>com.oracle.database.xml</groupId>
					<artifactId>xdb</artifactId>
				</exclusion>
		
				<exclusion>
					<groupId>com.oracle.database.xml</groupId>
					<artifactId>xmlparserv2</artifactId>
				</exclusion>
			</exclusions>
		</dependency>


		  <!-- =============== Testing =============== -->

		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-api</artifactId>
			<version>5.8.2</version>
			<scope>test</scope>
		</dependency>

    
        <!-- ================ Misc ================= -->

		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>
	
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.24</version>
			<scope>provided</scope>
		</dependency>
		     
	</dependencies>


    <build>

		<!-- 컨텍스트 루트 -->
		<finalName>/</finalName>

        <plugins>

            <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.3.2</version>
            </plugin>

            <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-eclipse-plugin</artifactId>
				<version>2.10</version>

                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>false</downloadJavadocs>
                </configuration>
            </plugin>

            <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
                <version>3.10.1</version>

				<configuration>
					<release>${java-version}</release>
				</configuration>
            </plugin>

        </plugins>

    </build>

</project>

 

[ 1 - 2. web.xml 파일 설정 ]

 

<?xml version="1.0" encoding="UTF-8"?>

<web-app
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0">

  <display-name>springmvc</display-name>
			
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
  </welcome-file-list>

  
  <!-- ====================== -->
  <!-- 공통 JSP 설정          -->
  <!-- ====================== -->
  <jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <page-encoding>UTF-8</page-encoding>
      <include-prelude>/WEB-INF/views/include.jsp</include-prelude>
      <trim-directive-whitespaces>true</trim-directive-whitespaces>
      <default-content-type>text/html; charset=utf8</default-content-type>
    </jsp-property-group>
  </jsp-config>


  <!-- =============================== -->
  <!-- Web Application 예외처리방법#1  -->
  <!-- =============================== -->
  <error-page>
      <error-code>500</error-code>
      <location>/WEB-INF/views/errors/500.jsp</location>
  </error-page>

  <error-page>
      <error-code>404</error-code>
      <location>/WEB-INF/views/errors/404.jsp</location>
  </error-page>


  <!-- =============================== -->
  <!-- Web Application 예외처리방법#2  -->
  <!-- =============================== -->
  <error-page>
      <exception-type>java.lang.NullPointerException</exception-type>
      <location>/WEB-INF/views/errors/null.jsp</location>
  </error-page>


  <!-- =============================== -->
  <!-- Http Session 만료시간설정(in minutes) -->
  <!-- =============================== -->
  <session-config>
      <session-timeout>30</session-timeout>
  </session-config>

  
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
  </context-param>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    </init-param>
		
		<init-param>
			<param-name>throwExceptionIfNoHandlerFound</param-name>
			<param-value>true</param-value>
		</init-param>
    
    <load-on-startup>1</load-on-startup>
  </servlet>

	<servlet-mapping>
	  <servlet-name>appServlet</servlet-name>
	  <url-pattern>/</url-pattern>
	</servlet-mapping>

	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf8</param-value>
		</init-param>

		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>true</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


</web-app>

 

 

 

728x90
댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항