Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
# premom-server
# 프리맘 (서버)

## Poster
<img width="812" alt="스크린샷 2020-02-11 오전 12 01 41" src="https://user-images.githubusercontent.com/21326503/74161498-60a2a800-4c62-11ea-9ad5-a85dd0f0ded4.png">


18 changes: 16 additions & 2 deletions premom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -151,6 +151,20 @@
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>

<!-- JSON Jackson databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10.1</version>
</dependency>

<!-- log4j2 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
67 changes: 67 additions & 0 deletions premom/src/main/java/com/petifee/controller/ApiController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package com.petifee.controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.petifee.domain.SeatVO;
import com.petifee.exception.ArticleNotFound;
import com.petifee.service.SeatService;

@Controller
@RequestMapping("/api")
public class ApiController {
private static final Logger logger = LoggerFactory.getLogger(ApiController.class);

@Inject
private SeatService ss;

@RequestMapping(value = "seatAll", method = RequestMethod.GET)
public @ResponseBody Map<String, Object> getSeatAll(Model model) throws Exception{

model.addAttribute("list", ss.listAll());

List<SeatVO> list = ss.listAll();

// List<SeatVO> list = new ArrayList<SeatVO>();
// list.add(new SeatVO(1, 0));
// list.add(new SeatVO(2, 1));

Map<String, Object> res = new HashMap<String, Object>();
res.put("data", list);

return res;
}

@RequestMapping(value = "seat/{car}", method = RequestMethod.GET)
public @ResponseBody Map<String, Object> getSeat(@PathVariable("car") String car, Model model) throws Exception{

model.addAttribute("list", ss.getSeat(car));

List<SeatVO> list = ss.getSeat(car);


Map<String, Object> res = new HashMap<String, Object>();
res.put("data", list);

return res;
}




}
93 changes: 93 additions & 0 deletions premom/src/main/java/com/petifee/controller/BoardController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
package com.petifee.controller;

import javax.inject.Inject;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import com.petifee.domain.BoardVO;
import com.petifee.exception.ArticleNotFound;
import com.petifee.service.BoardService;

@Controller
@RequestMapping("/board")
public class BoardController {
private static final Logger logger = LoggerFactory.getLogger(BoardController.class);

@Inject
private BoardService bs;

@RequestMapping(value="/register", method=RequestMethod.GET)
public void registerGET() throws Exception{
logger.info("글 등록 GET 요청입니다");
}

@RequestMapping(value="/register", method=RequestMethod.POST)
public String registerPOST(BoardVO board, Model model, RedirectAttributes rttr) {
logger.info("글 등록 POST 요청입니다");
logger.info(board.toString());
try {
bs.regist(board);
} catch(Exception e){
e.printStackTrace();
model.addAttribute("result", "fail");
model.addAttribute("errorMsg", e.getMessage());
return "/board/afterPost";
}

rttr.addFlashAttribute("result", "success");
return "redirect:/board/list";

}

@RequestMapping(value="/list", method=RequestMethod.GET)
public void listAll(Model model) throws Exception{
logger.info("모든 글 목록을 다 가져옵니다");

model.addAttribute("list", bs.listAll());
}

@RequestMapping(value="/read/{bno}", method=RequestMethod.GET)
public String read(@PathVariable("bno") int bno, Model model) throws Exception{
try {
BoardVO bo = bs.read(bno);
String content = bo.getContent();
content = content.replaceAll("\r\n", "<br/>"); //nl2br
bo.setContent(content);
model.addAttribute(bo);
return "/board/read";
} catch(Exception e) {
throw new ArticleNotFound();
}
}


@RequestMapping(value="/remove/{bno}", method=RequestMethod.GET)
public String remove(@PathVariable("bno") int bno, RedirectAttributes rttr)
throws Exception{
bs.remove(bno);
rttr.addFlashAttribute("result", "success");
return "redirect:/board/list";
}

@RequestMapping(value="/modify/{bno}", method = RequestMethod.GET)
public String modifyGET(@PathVariable("bno") int bno, Model model) throws Exception {
model.addAttribute(bs.read(bno)); //해당 글번호의 글을 읽어와서 모델에 넣어줌
return "/board/modify";
}

@RequestMapping(value="/modify", method=RequestMethod.POST)
public String modifyPOST(BoardVO vo, RedirectAttributes rttr) throws Exception {
bs.modify(vo);
rttr.addFlashAttribute("msg", "success");

return "redirect:/board/list";
}
}
34 changes: 34 additions & 0 deletions premom/src/main/java/com/petifee/controller/ExceptionAdvice.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.petifee.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

import com.petifee.exception.ArticleNotFound;

@ControllerAdvice
public class ExceptionAdvice {
private static final Logger logger = LoggerFactory.getLogger(ExceptionAdvice.class);

@ExceptionHandler(Exception.class)
public ModelAndView common(Exception e){
ModelAndView mav = new ModelAndView();
mav.setViewName("/errorPage");
mav.addObject("title", "에러 발생");
mav.addObject("msg", "메시지 : " + e.getMessage());
return mav;
}

@ExceptionHandler(ArticleNotFound.class)
public ModelAndView articleNF(ArticleNotFound e){
ModelAndView mav = new ModelAndView();
mav.setViewName("/errorPage");
mav.addObject("title", "글읽기 에러");
mav.addObject("msg", "메시지 에러 : " + e.getMessage());
return mav;
}


}
53 changes: 53 additions & 0 deletions premom/src/main/java/com/petifee/controller/TestController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.petifee.controller;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.petifee.domain.UserVO;

@Controller
@RequestMapping("/test/")
public class TestController {
private static final Logger logger = LoggerFactory.getLogger(TestController.class);

@RequestMapping("doA")
public String doA(@ModelAttribute("msg") String msg, Model model){
logger.info("doA가 호출되었습니다");
return "bbb";
}

@RequestMapping("doB")
public String doB(Model model){
logger.info("doB가 호출되었습니다");
model.addAttribute("msg", "테스트임");
return "bbb";
}

@RequestMapping("getBean")
public String getBean(Model model) {
logger.info("getBean가 호출되었습니다");
UserVO temp = new UserVO();
temp.setUid("gondr");
temp.setUpw("1234");
temp.setUname("최선한");
model.addAttribute("user", temp);
return "bbb";
}

@RequestMapping("getJSON")
public @ResponseBody UserVO getJSON(){
UserVO temp = new UserVO();
temp.setUid("gondr");
temp.setUpw("1234");
temp.setUname("최선한");

return temp;
}
}

67 changes: 67 additions & 0 deletions premom/src/main/java/com/petifee/domain/BoardVO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
package com.petifee.domain;

import java.util.Date;

public class BoardVO {
private int bno;
private String title;
private String content;
private String writer;
private Date regdate;
private int viewcnt;

@Override
public String toString(){
return "boardVO[bno=" + bno + ", title=" + title
+ ", writer=" + writer + ", viewcnt=" + viewcnt +"]";
}

public int getBno() {
return bno;
}

public void setBno(int bno) {
this.bno = bno;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

public String getWriter() {
return writer;
}

public void setWriter(String writer) {
this.writer = writer;
}

public Date getRegdate() {
return regdate;
}

public void setRegdate(Date regdate) {
this.regdate = regdate;
}

public int getViewcnt() {
return viewcnt;
}

public void setViewcnt(int viewcnt) {
this.viewcnt = viewcnt;
}

}
Loading