Spring掲示板の作成(1)

26965 ワード

記録する前に、私たちは説明のためではなく復習のためです.

開発ツール

  • eclipse IDE 2020-06
  • mybatis
  • oracle
  • 猫8.5
  • プロジェクトの作成



    pom.xml

    <!-- database 관련 라이브러리 추가 시작 mvnrepository.com -->
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
    <!-- MyBatis : 프레임워크 (라이브러리 집합 + 디자인패턴). XML과 애너테이션을 사용하여 SQL문으로 객체들을 연결. -->
    	<dependency>
    		<groupId>org.mybatis</groupId>
    		<artifactId>mybatis</artifactId>
    		<version>3.5.4</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <!-- MyBatis 프레임워크와 spring 프레임워크 사이에 교량(bridge)역할을 해줌 -->
    	<dependency>
    		<groupId>org.mybatis</groupId>
    		<artifactId>mybatis-spring</artifactId>
    		<version>2.0.4</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
    	<dependency>
    		<groupId>org.springframework</groupId>
    		<artifactId>spring-jdbc</artifactId>
    		<version>${org.springframework-version}</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 -->
    	<!-- 커넥션풀 사용 -->
    	<dependency>
    		<groupId>org.apache.commons</groupId>
    		<artifactId>commons-dbcp2</artifactId>
    		<version>2.7.0</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
    	<dependency>
    		<groupId>org.bgee.log4jdbc-log4j2</groupId>
    		<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
    		<version>1.16</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6 -->
    	<dependency>
    		<groupId>com.oracle.database.jdbc</groupId>
    		<artifactId>ojdbc6</artifactId>
    		<version>11.2.0.4</version>
    	</dependency>
    <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    	<!-- 자동으로 자원을 관리해주고, getter/setter를 자동 처리해줌 logger.info() -->
    	<dependency>
    		<groupId>org.projectlombok</groupId>
    		<artifactId>lombok</artifactId>
    		<version>1.18.20</version>
    		<scope>provided</scope>
    	</dependency>

    web.xml


    エンコードフィルタの設定
    <filter>
    	<filter-name>encodingFilter</filter-name>
    	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    	<init-param>
    		<param-name>encoding</param-name>
            <param-value>UTF-8</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.xml 설정은 Tomcat 자체의 설정임. web과 관련된 설정이므로 servlet-context.xml을 이용하여 
    	설정해줘야 함 -->
    <multipart-config>
    	<location>D:\\upload</location> <!-- 업로드 되는 폴더 -->
    	<max-file-size>10485760</max-file-size> <!-- 최대크기 10MB -->
    	<max-request-size>41943040</max-request-size> <!-- 한번에 올리는 크기 40MB -->
    	<file-size-threshold>20971520</file-size-threshold> <!-- 메모리 사용 20MB -->
    </multipart-config>

    root-context

  • DB設定情報
  • <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
    		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    	<property name="url" value="jdbc:oracle:thin:@localhost:1521/xe" />
    	<property name="username" value="c##mytest" />
    	<property name="password" value="java" />
    </bean>	
    <!-- 파일 업롣드 디렉토리 설정 -->
    	<bean id="uploadPath" class="java.lang.String">
    		<constructor-arg value="D:\\upload" />
    	</bean>
    <!-- mapper interface -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    	<property name="basePackage" value="kr.or.ddit.dasuri.*.mapper" />
    </bean>

    servlet-context

  • ファイルアップロード
  • <beans:bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver">
    </beans:bean>

    初期運転エラー

    심각: Context initialized 이벤트를 [org.springframework.web.context.ContextLoaderListener] 클래스의 인스턴스인 리스너에 전송하는 동안 예외 발생
    java.lang.ArrayIndexOutOfBoundsException: 20430
    	at org.springframework.asm.ClassReader.<init>(Unknown Source)
    	at org.springframework.asm.ClassReader.<init>(Unknown Source)
    	at org.springframework.asm.ClassReader.<init>(Unknown Source)
    プロジェクトを初めて作成したときのjavaバージョンjre 1.6の場合pomでもこのように作成されます
    jdk1.8後pomに変更します.xmlでバージョンが指定されていないため
    フォーム上部のjavaバージョン設定セクション
    <properties>
    	<java-version>1.8</java-version>
    	<org.springframework-version>5.2.5.RELEASE</org.springframework-version>
    	<org.aspectj-version>1.6.10</org.aspectj-version>
    	<org.slf4j-version>1.6.6</org.slf4j-version>
    </properties>
    このように変えて、運行が落ち着いています.