JSP + 스프링(Spring) + 디비(Mysql) + MVC
HOME JSP + 스프링(Spring) + 디비(Mysql) + MVC
Package
-
View
-
출력 화면
Java,class
package com.example.controller;
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@Inject
private MemberService service;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) throws Exception{
logger.info("home");
List memberList = service.selectMember();
model.addAttribute("memberList", memberList);
return "home";
}
}
MemberVO.java 연결
import com.example.dto.MemberVO; MemberService.java 연결
import com.example.service.MemberService; @Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
@Inject
private MemberService service;
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) throws Exception{
logger.info("home");
List
model.addAttribute("memberList", memberList);
return "home";
}
}
package com.example.dao;
import com.example.dto.MemberVO;
public interface MemberDAO {
public List selectMember() throws Exception;
}
import com.example.dto.MemberVO;
public interface MemberDAO {
public List
}
package com.example.dao;
import java.util.List;
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import com.example.dto.MemberVO;
@Repository
public class MemberDAOImpl implements MemberDAO {
@Inject
private SqlSession sqlSession;
private static final String Namespace = "com.example.mapper.memberMapper";
@Override
public List selectMember() throws Exception {
return sqlSession.selectList(Namespace+".selectMember");
}
}
import java.util.List;
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import com.example.dto.MemberVO;
@Repository
public class MemberDAOImpl implements MemberDAO {
@Inject
private SqlSession sqlSession;
private static final String Namespace = "com.example.mapper.memberMapper";
@Override
public List
return sqlSession.selectList(Namespace+".selectMember");
}
}
package com.example.dto;
public class MemberVO {
private String id;
private String pw;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class MemberVO {
private String id;
private String pw;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package com.example.service;
import java.util.List;
import com.example.dto.MemberVO;
public interface MemberService {
public List selectMember() throws Exception;
}
import java.util.List;
import com.example.dto.MemberVO;
public interface MemberService {
public List
}
package com.example.service;
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import com.example.dao.MemberDAO;
import com.example.dto.MemberVO;
@Service
public class MemberServiceImpl implements MemberService {
@Inject
private MemberDAO dao;
@Override
public List selectMember() throws Exception {
return dao.selectMember();
}
}
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import com.example.dao.MemberDAO;
import com.example.dto.MemberVO;
@Service
public class MemberServiceImpl implements MemberService {
@Inject
private MemberDAO dao;
@Override
public List
return dao.selectMember();
}
}
< mapper namespace="com.example.mapper.memberMapper" >
< select id="selectMember" resultType="memberVO" >
SELECT ID, PW ,NAME FROM TEST
< /select>
< /mapper>
< select id="selectMember" resultType="memberVO" >
SELECT ID, PW ,NAME FROM TEST
< /select>
< /mapper>
< configuration>
< typeAliases>
< typeAlias type="com.example.dto.MemberVO" alias="memberVO"/>
< /typeAliases>
< /configuration>
< typeAliases>
< typeAlias type="com.example.dto.MemberVO" alias="memberVO"/>
< /typeAliases>
< /configuration>
< annotation-driven />
< resources mapping="/resources/**" location="/resources/" />
< beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
< beans:property name="prefix" value="/WEB-INF/views/" />
< beans:property name="suffix" value=".jsp" />
< /beans:bean>
< context:component-scan base-package="com.example.controller" />
< resources mapping="/resources/**" location="/resources/" />
< beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
< beans:property name="prefix" value="/WEB-INF/views/" />
< beans:property name="suffix" value=".jsp" />
< /beans:bean>
< context:component-scan base-package="com.example.controller" />
< bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
< property name="driverClassName" value="com.mysql.cj.jdbc.Driver">< /property>
< property name="url" value="jdbc:mysql://localhost:3306/dokgol?serverTimezone=UTC">< /property>
< property name="username" value="dokgol">< /property>
< property name="password" value="1111">< /property>
< /bean>
< bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
< property name="dataSource" ref="dataSource">< /property>
< property name="configLocation" value="classpath:/mybatis-config.xml">< /property>
< property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml">< /property>
< /bean>
< bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
< constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory">< /constructor-arg>
< /bean>
< context:component-scan base-package="com.example.dao">< /context:component-scan>
< context:component-scan base-package="com.example.service">< /context:component-scan>
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
< property name="driverClassName" value="com.mysql.cj.jdbc.Driver">< /property>
< property name="url" value="jdbc:mysql://localhost:3306/dokgol?serverTimezone=UTC">< /property>
< property name="username" value="dokgol">< /property>
< property name="password" value="1111">< /property>
< /bean>
< bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
< property name="dataSource" ref="dataSource">< /property>
< property name="configLocation" value="classpath:/mybatis-config.xml">< /property>
< property name="mapperLocations" value="classpath:mappers/**/*Mapper.xml">< /property>
< /bean>
< bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
< constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory">< /constructor-arg>
< /bean>
< context:component-scan base-package="com.example.dao">< /context:component-scan>
< context:component-scan base-package="com.example.service">< /context:component-scan>
<% @ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"% >
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"% >
< table>
< thead>
< tr>
< th>아이디< /th>
< th>비밀번호< /th>
< th>이름< /th>
< /tr>
< /thead>
< tbody>
< c:forEach items="${memberList}" var="member">
< tr>
< td>${member.id}< /td>
< td>${member.pw}< /td>
< td>${member.name}< /td>
< /tr>
< /c:forEach>
< /tbody>
< /table>
pageEncoding="UTF-8"% >
<% @ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"% >
< table>
< thead>
< tr>
< th>아이디< /th>
< th>비밀번호< /th>
< th>이름< /th>
< /tr>
< /thead>
< tbody>
< c:forEach items="${memberList}" var="member">
< tr>
< td>${member.id}< /td>
< td>${member.pw}< /td>
< td>${member.name}< /td>
< /tr>
< /c:forEach>
< /tbody>
< /table>
< 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>
< load-on-startup>1< /load-on-startup>
< /servlet>
< servlet-mapping>
< servlet-name>appServlet< /servlet-name>
< url-pattern>/< /url-pattern>
< /servlet-mapping>
< 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>
< load-on-startup>1< /load-on-startup>
< /servlet>
< servlet-mapping>
< servlet-name>appServlet< /servlet-name>
< url-pattern>/< /url-pattern>
< /servlet-mapping>