spring을 이용하여 간단한 페이지를 만들어 보았다.
spring + ajax + mysql + mybatis 를 사용해서 만들었다.
우선 spring의 폴더 구조를 살펴보면
이런식으로 되어있다.
자바 소스 폴더
앞으로 만들어질 자파 소스코드들(Controller, Mapper, VO, etc..)은 모두 이곳에 저장되어 관리됩니다.
웹 설정 파일
web.xml 파일은 웹 애플리케이션의 설정을 구성합니다.
뷰 폴더
뷰 폴더는 JSP 파일들로 이루어져있습니다. 앞으로 만들어질 뷰 파일들은 모두 이곳에 보관하게 됩니다.
라이브러리 관리 파일
스프링MVC 프로젝트를 이용하여 웹서비스를 개발하기 위해서는 여러가지 라이브러리들(Spring, JDBC, MyBatis, etc..)이 필요합니다. 이러한 라이브러리들은 다양한 루트를 통해 설치를 해야하는데 이러한 과정은 번거로울 분만 아니라 관리가 매우 어렵습니다.
하지만 maven을 사용하면 pom.xml이라는 파일을 통해 라이브러리들을 통합 관리하게 해줌으로써 이러한 문제들을 해결하게 해줍니다.
pom.xml
pom.xml 에는 여러 라이브러리를 간편하게 추가할 수 있다.
코드 안에 <dependencies></dependencies> 사이에다가 원하는 라이브러리는 추가하고 저장하면 자동으로 설치가 완료된다.
간혹 설치가 제대로 되지가 않을 때가 있는데
이럴 때는 C:\Users\Administrator\.m2 에서 repository폴더를 삭제하고 spring을 다시 키게 되면 설치가 다시 된다.
<dependencies> <!-- @RestController를 쓸 때 json으로 변환이 안될 경우 추가 --> <!-- json변환 라이브러리 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.1</version> </dependency> </dependencies>
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- new --> <!-- DI --> <!-- DispatcherServlet Context: defines this servlet's request-processing infrastructure --> <!-- Enables the Spring MVC @Controller programming model --> <mvc:annotation-driven /> <!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory --> <mvc:resources mapping="/resources/**" location="/resources/" /> <!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <context:component-scan base-package="com.test.jjdev" /> <!-- 커넥션 풀 설정 --> <!-- BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(driverClassName); . . . for() { dataSource.list.add(connection); } --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/ksmart?useUnicode=true&characterEncoding=utf8"/> <property name="username" value="root"/> <property name="password" value="java0000"/> </bean> <!-- mybatis설정 1. SqlSessionFactory --> <!-- SqlSessionFactoryBean sqlSessionFactory = new SqlSessionFactoryBean(); --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- mybatis 세션생성시 사용할 dataSource주입 --> <!-- sqlSessionFactory.setDataSource(dataSource); value와 ref의 차이 정리하기 --> <property name="dataSource" ref="dataSource" /> <!-- mybatis 세션생성후 쿼리를 실행시킬때 사용할 쿼리위치(메퍼)설정 --> <property name="mapperLocations"> <list> <value>classpath:com/test/jjdev/service/BoardMapper.xml</value> <value>classpath:com/test/jjdev/service/MemberMapper.xml</value> </list> </property> </bean> <!-- mybatis설정 2. SqlSessionTemplate--> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <!-- new SqlSessionTemplate(sqlSessionTemplate) --> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> </beans>
[출처] spring - Maven 을 이용한 프로젝트 생성 및 활용(1)|작성자 upbreak05
'JAVA HTML JAVASCRIPT > 소오스' 카테고리의 다른 글
spring - Maven 을 이용한 프로젝트 생성 및 활용(3) (0) | 2020.02.26 |
---|---|
spring - Maven 을 이용한 프로젝트 생성 및 활용(2) (0) | 2020.02.26 |
[Java] Tag라이브러리(JSTL) 사용하기 (0) | 2020.02.25 |
JSTL(Jsp Standard Tag Library) - Core, C 태그 (0) | 2020.02.25 |
<c:if> (0) | 2020.02.24 |