<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.7.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.webjars/bootstrap -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>5.3.3</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
# tomcat port 번호 변경
server.port=8090
# context 명 변경
server.servlet.context-path=/shop
# jsp의 경로와 확장자 지정
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
# DB 연동위한 4가지 정보 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/shop
spring.datasource.username=shop
spring.datasource.password=shop
# 별칭
mybatis.type-aliases-package=com.exam.dto
# mapper 등록
mybatis.mapper-locations=com/exam/config/*Mapper.xml
@Controller
public class MainController {
Logger logger = LoggerFactory.getLogger(getClass());
GoodsService goodsService;
public MainController(GoodsService goodsService) {
this.goodsService = goodsService;
}
@GetMapping("/main")
public String main(@RequestParam(required = false, defaultValue = "top") String gCategory,
ModelMap m) {
List<GoodsDTO> goodsList = goodsService.goodsList(gCategory);
m.addAttribute("goodsList", goodsList);
return "main";
}
}
<link rel="stylesheet" href="webjars/bootstrap/5.3.3/css/bootstrap.min.css" >
<script src="webjars/jquery/3.7.1/jquery.min.js"></script>
이전 MemberUIServlet 역할의 MemberController 작성
<script src="webjars/jquery/3.7.1/jquery.min.js"></script>
이전 MemberIdCheckServlet 역할의 MemberController 작성
@GetMapping("/idCheck")
public @ResponseBody String idCheck(@RequestParam String userid) {
MemberDTO dto = memberService.idCheck(userid);
String mesg = "사용가능";
if(dto!=null) {
mesg = "사용불가";
}
return mesg;
}
Controller ---------------------> JSP
<---------------------
이전 LoginUIServlet 역할의 LoginController 작성
@Controller
@SessionAttributes(names = {"login"})
public class LoginController {
@PostMapping("/login")
public String login(@RequestParam Map<String, String> m,
ModelMap model) {
MemberDTO dto = memberService.login(m);
if(dto!=null) {
// 세션에 저장
model.addAttribute("login", dto); // sesssion scope에 저장
return "redirect:main";
}
model.addAttribute("errorMessage", "아이디 및 비번 확인 필요."); // request scope에 저장
return "loginForm";
}
이전 LogoutServlet 역할의 LoginController 작성
이전 session.invalidate(); 는 다음코드가 대체한다
@GetMapping("/logout")
public String logout(SessionStatus status) {
status.setComplete();
return "redirect:main";
}
이전 MyPageServlet 역할의 MemberController 작성
inky4832@daum.net ( github owner )
inky4833@gmail.com ( 협력자 )