# 프로젝트 생성
New ▶ Spring Legacy Project 클릭 ▶ Project name 작성 후 Templates 에서 Spring MVC Project 클릭
▶ com.company.아무거나 작성후 Finish
# 프로젝트 생성된 후 설정
우선, 프로젝트 우클릭 Properties ▶ Project Facets에서 Java 1.8로 수정 ▶ Java Build Path 에서 JRE버전 1.8로 수정 ▶
pom.xml 클릭 ▶ Overview 에서 java-version : 1.8로 수정, org.springframework-version: 4.1.7.RELEASE로 수정후 저장
▶ src → main → webapp → WEB-INF 폴더 우클릭 New → Spring Bean Configuration file 클릭 후 dispatcher....으로 생성 (이름상관없음 web.xml에서 똑같이 먖춰주면 됌.) ▶ web.xml 수정
# web.xml 수정
1. 필터 적용
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> | cs |
이 필터를 소스코드를 넣어준다. (보통 </listener>아래에 넣어준다.)
2. 서블릿 적용
-자신이 사용할 것에 맞추어 작성하면 된다. (앞에 WEB-INF에 dispatcher~ 로 만든 Spring Bean Configuration file)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!-- 지나 서블릿 --> <servlet> <servlet-name>ggServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-ginaa.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>ggServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> | cs |
<param-value>/WEB-INF/dispatcher-ginaa.xml</param-value>
이부분을 내가 만든 dispatcher파일과 맞추어준다.
mapping부분의 url-pattern 부분은 내가 하고싶은대로 해도 된다
(하지만 controller안의 requestmapping 부분의 ~.do처럼 .뒷부분 패턴을 맞추어 줘야 한다.)
3. 이미지 및 CSS 파일 적용
-이미지 및 CSS 파일은 webapp에 생성해야 한다.
1 2 3 4 5 6 7 8 9 | <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> <url-pattern>*.js</url-pattern> <url-pattern>*.gif</url-pattern> <url-pattern>*.jpg</url-pattern> <url-pattern>*.png</url-pattern> <url-pattern>*.PNG</url-pattern> </servlet-mapping> | cs |
# View 렌더링 시키기
내가설정한 DISPATCHER ~.XML파일에 들어간다.
1 2 3 4 | <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/view"/> <property name="suffix" value=".jsp"/> </bean> | cs |
-이 소스코드 추가
이때 컨트롤러가 지정한 뷰 이름 앞뒤로 prefix와 suffix를 추가 한 값이 실제로 사용 될 자원의 경로가 된다.
JSP를 뷰 기술로 사용 할 경우에 반!드!시 등록해줘야 한다.
# 데이터 베이스 등록시키기(Oracle)
1 2 3 4 5 6 7 8 9 10 | <!-- [1] DataSource bean 선언 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin://@127.0.0.1:1521:xe" /> <property name="username" value="DB아이디" /> <property name="password" value="DB패스워드" /> </bean> | cs |
(ex : <property name="username" value="hr" />
<property name="password" value="a1234" />)
1 2 3 4 5 6 7 8 9 10 11 | <!-- [2] SqlSessionFactoryBean bean 선언 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- mapper등록 --> <property name="mapperLocations"> <list> <value>classpath:config/productMapper.xml</value> </list> </property> </bean> | cs |
(mapper가 늘어날때마다 list 의 value태그에 맵퍼 xml경로를 추가해 준다.)
1 2 3 4 5 | <!-- [3] SqlSessionTemplate bean 선언 --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="sqlSessionFactory" /> </bean> | cs |
# pom.xml 파일에 데이터베이스, 마이바티스 등등을 쓰기위한 <dependency>를 추가해준다.
https://mvnrepository.com/ -- 메이븐 사이트에서 가져온다
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 | <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.10</version> </dependency> | cs |