ํฐ์คํ ๋ฆฌ ๋ทฐ
Controller
PostsController
//์
๋ก๋ ์ฌ์ง ํ์ผ ๋ถ๋ฌ์ค๊ธฐ ์์ฒญ
@RequestMapping("/file/{postNo}")
public ResponseEntity<byte[]> getFile(@PathVariable int postNo) throws Exception {
logger.info("/post/file/" + postNo + " -> POST ์์ฒญ ๋ฐ์ ! " );
PostsVO file = postsService.getFile(postNo);
logger.info("postNo๋ก ์กฐํํ ํ์ผ file : " + file);
//ํ์ผ์ ํด๋ผ์ด์ธํธ๋ก ์ ์กํ๊ธฐ ์ํด ์ ์ก์ ๋ณด๋ฅผ ๋ด์ ํค๋๋ฅผ ์ค์ ํ๋ค.
HttpHeaders headers = new HttpHeaders();
String[] ftypes = file.getFileContentType().split("/");
//์ ์กํค๋์ ํ์ผ ์ ๋ณด์ ํ์ฅ์๋ฅผ ์
ํ
ํ๋ค.
headers.setContentType(new MediaType(ftypes[0], ftypes[1]));
//์ ์กํค๋์ ํ์ผ ์ฉ๋์ ์
ํ
ํ๋ค.
headers.setContentLength(file.getFileSize());
//์ ์กํค๋์ ํ์ผ๋ช
์ ์
ํ
ํ๋ค.
headers.setContentDispositionFormData("attachment", file.getFileName());
return new ResponseEntity<byte[]>(file.getFileData(), headers, HttpStatus.OK);
}
//ํ๋กํ ์ฌ์ง ํ์ผ ๋ถ๋ฌ์ค๊ธฐ ์์ฒญ
@RequestMapping("/profile/{userNo}")
public ResponseEntity<byte[]> getProfile(@PathVariable int userNo) throws Exception {
logger.info("/post/profile/" + userNo + " -> POST ์์ฒญ ๋ฐ์ ! " );
UserImgsVO profile = usersService.getProfile(userNo);
logger.info("userNo๋ก ์กฐํํ ํ์ผ profile : " + profile);
//ํ์ผ์ ํด๋ผ์ด์ธํธ๋ก ์ ์กํ๊ธฐ ์ํด ์ ์ก์ ๋ณด๋ฅผ ๋ด์ ํค๋๋ฅผ ์ค์ ํ๋ค.
HttpHeaders headers = new HttpHeaders();
String[] ftypes = profile.getProfileContentType().split("/");
//์ ์กํค๋์ ํ์ผ ์ ๋ณด์ ํ์ฅ์๋ฅผ ์
ํ
ํ๋ค.
headers.setContentType(new MediaType(ftypes[0], ftypes[1]));
//์ ์กํค๋์ ํ์ผ ์ฉ๋์ ์
ํ
ํ๋ค.
headers.setContentLength(profile.getProfileSize());
//์ ์กํค๋์ ํ์ผ๋ช
์ ์
ํ
ํ๋ค.
headers.setContentDispositionFormData("attachment", profile.getProfileName());
return new ResponseEntity<byte[]>(profile.getProfileData(), headers, HttpStatus.OK);
}
๋ถ๋ฌ์์ผํ๋ ์ฌ์ง ์ ๋ณด๊ฐ ๋๊ฐ์ง๊ฐ ์๋ค. ํ๋กํ ์ฌ์ง ์ ๋ณด์ ๊ฒ์๊ธ ์ ๋ณด
๊ฒ์๊ธ์ ๋ณด์ฌ์ผํ๋ ํ์ด์ง๋ list.jsp(๋ชจ๋ ๊ฒ์๋ฌผ์ด ๋ณด์ฌ์ง๋ ๊ณณ)์ personal-list.jsp(ํน์ ์ ์ ์ ๊ฒ์๋ฌผ์ด ๋ณด์ฌ์ง๋ ๊ณณ)์ผ๋ก ๋ ๊ฐ์ง๊ฐ ์๋ค.
//list.jsp ํ์ด์ง ์ด๋ ์์ฒญ
@RequestMapping(value="/list", method=RequestMethod.GET)
public String list(Model model) throws Exception {
//๋ชจ๋ ๊ฒ์๋ฌผ ๊ฐ์ ธ์์ ์ด๋ฆ post ๋ชจ๋ธ์ ๋ด์ ๋ณด๋ธ๋ค
model.addAttribute("post", postsService.selectPostList());
return "post/list";
}
//personal-list ์์ฒญ : ๊ฐ์ธ ๊ฒ์๋ฌผ ๋ณด์ด๋ ํ์ด์ง
@RequestMapping(value="/{id}", method=RequestMethod.GET)
public String personalList(@PathVariable String id, Model model, HttpSession session) throws Exception {
//๊ฐ์ธ ํ์ด์ง ์ฃผ์ธ ์ ๋ณด ๋ด๊ธฐ
UsersVO user = usersService.inquiryOfUserById(id);
//๋ก๊ทธ์ธํ ํ์ (=๋) ์ ๋ณด ๋ด๊ธฐ
Object object = session.getAttribute("login");
UsersVO loginUser = (UsersVO)object;
//๊ฐ์ธํ์ด์ง์ ์ ์ ๋ฒํธ ๊ฐ์ ธ์ค๊ธฐ
int userNo = user.getUserNo();
//๋ก๊ทธ์ธ ํ์ ์ ์ ๋ฒํธ ๊ฐ์ ธ์ค๊ธฐ
int loginUserNo = loginUser.getUserNo();
logger.info("ํ์ฌ ํ์ด์ง ์ฃผ์ธ์ ๋ฒํธ : " + userNo + ", ๋ก๊ทธ์ธ ์ ์ ์ ๋ฒํธ : " + loginUserNo);
//์ฌ์ฉ์ ์์ด๋๋ก ์ฌ์ฉ์ ๋ฒํธ(pk)๋ฅผ ์กฐํํด์ ๊ทธ ๋ฒํธ๋ก ๊ฒ์๋ฌผ ๊ฐ์ ธ์ค๊ธฐ
model.addAttribute("post", postsService.selectPostListById(id));
//์ฌ์ฉ์ ์์ด๋๋ก ํ์์ ๋ชจ๋ ์ ๋ณด ์กฐํํ๊ธฐ
model.addAttribute("user", user);
return "post/personal-list";
}
์ ์ฒด ๊ฒ์๋ฌผ์ด ๋ณด์ฌ์ง๋ ํ์ด์ง์์๋ ๊ฐ๋จํ๊ฒ ๋ชจ๋ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์์ ๋ชจ๋ธ์ ๋ด์ ๋ณด๋ด๋ฉด ๋์ง๋ง ํน์ ์ ์ ์ ๊ฒ์๋ฌผ์ด ๋ณด์ฌ์ง๋ ํ์ด์ง๋ view์์ ์ ์ ์ id ์ ๋ณด๋ฅผ ๋ฐ์ ๊ทธ ์ ๋ณด๋ก ํด๋น ํ์์ ์ ๋ณด๋ฅผ ๋ด๋๋ค. ๋ค๋ฅธ ์ ๋ณด์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํ์๊ฐ ๋๋ ๊ฒฝ์ฐ ์์ฒญ url์ { } ๊ดํธ์์ ์์ฑํ๋๋ก ํ๋ค. ๊ฐ์ ธ์จ ๊ฒ์๋ฌผ์ ์ ๋ณด๋ฅผ ๋ชจ๋ธ(post)์ ๋ด์์ ๋ณด๋ธ๋ค.
Service
PostsService
//๊ฒ์๋ฌผ ๋ชฉ๋ก ์กฐํ ๊ธฐ๋ฅ(๋ชจ๋ ์ฌ์ง)
@Override
public List<PostsVO> selectPostList() throws Exception {
return postsDAO.selectPostList();
}
//์์ด๋๋ก ํ์๋ฒํธ ์กฐํํ ๋ฒํธ๋ก ๊ฒ์๋ฌผ ๋ถ๋ฌ์ค๊ธฐ
@Override
public List<PostsVO> selectPostListById(String id) throws Exception {
return postsDAO.selectPostListById(id);
}
//์ฒจ๋ถํ์ผ์ DB์์ ๋ถ๋ฌ์ค๋ ๊ธฐ๋ฅ
@Override
public PostsVO getFile(int postNo) throws Exception {
return postsDAO.getFile(postNo);
}
View
'Project > Instagram' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[spring] ํด๋ก ์ฝ๋ฉ15 Post - ๊ฒ์๊ธ ์ญ์ (0) | 2020.04.20 |
---|---|
[spring] ํด๋ก ์ฝ๋ฉ14 Post - ๊ฒ์๊ธ ๋ฑ๋ก (0) | 2020.04.20 |
[spring] ํด๋ก ์ฝ๋ฉ12 Post - Model, Repository, Mapper, Test, Service, Controller (0) | 2020.04.13 |
[spring] ํด๋ก ์ฝ๋ฉ11 User - ํ์ ํํด (0) | 2020.04.12 |
[spring] ํด๋ก ์ฝ๋ฉ10 User - ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ (0) | 2020.04.09 |
- Total
- Today
- Yesterday
- ๊ฒ์๋ฌผ์กฐํ
- ๊ฒ์ํ ์กฐํ
- java jdk ์ค์น
- ๊ฒ์ํ ์ญ์
- ์จ๋ฆฌ์์ค
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- tomcat์ค์น
- ๊ฒ์๋ฌผ ์ญ์
- ์๊ณ ๋ฆฌ์ฆ
- ๋ณ๋ช ์ฒ๋ฆฌ
- ์ดํด๋ฆฝ์ค ์ค์น
- ์๋ฃ๊ตฌ์กฐ
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ๋ถํธ ์๋์์ฑ
- ๊ฐ๋ฐ
- typeAliases
- Algorithm
- Java
- java ํ๊ฒฝ๋ณ์
- mysql์ค์น
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- ์๋ฐ
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 28 | 29 | 30 |