공부 기록들

    2020.05.09 2020 카카오 인턴 코딩 테스트를 보았다...

    근 몇 달 간 코딩 문제 안보고 spring 쪽만 봤더니 완전 망쳐버렸다... 머릿속에 어떤식으로 푸는지는 아는데 구현이 안되는 느낌이었다. 백트래킹, bfs,dfs 쪽 익숙만 했어도 더 풀렸을 텐데... 이제 하루는 spring 하루는 코드문제 이렇게 해야되겠다.

    2020.05.02 미니 프로젝트(完)  (페이지 구현하기, 메인화면 처리하기)

    2020.05.02 미니 프로젝트(完) (페이지 구현하기, 메인화면 처리하기)

    options.properties 이다. page.list_cnt 는 페이지당 글의 개수 pagination은 밑에 페이지의 개수이다. pagination이라고 보통 부른다. /main 이며 page 정보가 없으면 default로 1의 값을 page변수에 넣는다. getContentList에 그리고 이 page 정보를 넣었다. rowBounds 는 (a,b) 이면 a 부터 page_listcnt 개. 0,10 이면 0부터 10개 , 10,10 이면 10부터 10개 이런 식이다. 위에 page_listcnt 10 해놨으니 10개씩 보여준다. 따라서, 0~9 10~19 이런 식이니 start 가 (page-1)*page_listcnt 로 설정하면 될 것이다. 그리고 service에서 properties의 p..

    2020.05.01 미니 프로젝트(7) (글 수정하기, 글 삭제하기)

    2020.05.01 미니 프로젝트(7) (글 수정하기, 글 삭제하기)

    modify.jsp를 form태그로 변경하였고 BoardController의 /modify 도 코드를 추가하였다. content_idx 와 content_board_idx를 hidden 으로 넣어주었고, pro 로 post로 보낸다. 수정을 했는데 유효성 검사에 걸려서 modify 가 다시 켜지면 저 bean 에는 content_file이 없어서 hidden 으로 숨겨서 넣어주었다. update 문 dao service 이고 saveUploadFile은 파일 크기가 0 이상이면 있다고 간주하고 저장하고 이름을 리턴해준다. modify_success 는 다음과 같이 금방 수정한 글을 읽을 수 있게끔 한다. 위에는 BoardController의 delete mapping, 2는 mapper 3은 delete..

    2020.04.30 미니 프로젝트(6) (게시판 구분, 글 등록, 페이지 구성, 수정/삭제 권한 설정,

    2020.04.30 미니 프로젝트(6) (게시판 구분, 글 등록, 페이지 구성, 수정/삭제 권한 설정,

    게시판에 들어갔을 때에 게시판을 구분해주기 위해서 board_info_idx를 사용한다. 그 화면에서 글쓰기를 눌렀을 때에 board/write 만 나오게되는데 나중에 글쓰기 기능을 할 때에 이 글쓰기가 어떤 게시판에서 작성된 게시글인지 알아야 하기 때문에 write까지 parameter가 전달될 수 있도록 세팅을 하려한다. boardcontroller /main 에서 requestparam 으로 들고와서 모델에 넣어준다. 그리고 board 폴더의 main.jsp 에서 write로 보내주면서 board_info_idx 값을 뒤에 덧붙여서 보내준다. 이제 write에서도 requestparam 으로 받고 빈에 세팅해주고 board/write.jsp 호출한다. 다음과 같이 form 태그로 바꿔주고 write..

    2020.04.29 미니 프로젝트(5) (정보수정)

    2020.04.29 미니 프로젝트(5) (정보수정)

    로그인 후에 수정하기를 눌렀을 때에 사용자에 따라 이름과 아이디가 박혀있게끔 만들고자 usermapper에서 다음과 같이 idx 값을 이용해 id와 name을 불러왔다. dao파일 userService의 getModifyUserInfo. userDao로 현재 로그인된 객체 loginUserBean 의 idx값을 보내서 name과 id가 담긴 빈을 빼오고 그것을 modifyUserBean에 set으로 값들을 담아준다. 그리고 modify jsp로 고고 여기서 readonly 부분은 원래 disabled로 수정이 불가능하게끔 되어있었는데 disabled는 서버로 그 값을 보내지를 않는다. 그래서 만약 disabled로 했다면 submit를 누르게 되면 modify_pro를 요청하게되는데 disabled 가 ..

    2020.04.28 미니 프로젝트(4) (로그인 처리, 로그인 확인 처리, 상단 메뉴 처리)

    2020.04.28 미니 프로젝트(4) (로그인 처리, 로그인 확인 처리, 상단 메뉴 처리)

    스프링 작업 프로젝트의 설정과 관련된 bean은 ServletAppContext.java 에 데이터를 저장하거나 관리하는 목적은 RootAppContext.java에 적어준다. 로그인 여부 확인을 위해 UserBean 에 private boolean userLogin; 다음과 같이 추가한다. 그리고 rootappcontext에 bean을 설정해 둔다. 이 빈은 여러곳에서 많이 쓰일 예정이기 때문에 구별을 하기위해서 이름을 설정해 두었다. 폼태그로 다 바꿔주었다. modelAttribute는 여기서만 잠시 사용할 bean이기 때문에 간단하게 tempLoginUserBean으로 정해주었다. 그리고 UserController 에 getmapping /login 부분에 @ModelAttribute("tempLo..

    2020.04.27 미니 프로젝트(3) (유효성 검사, 아이디 중복 확인 처리, 저장처리)

    2020.04.27 미니 프로젝트(3) (유효성 검사, 아이디 중복 확인 처리, 저장처리)

    label/input/button 등을 form 태그로 변경해 주었고 form:errors 도 추가해 주었다. style 값을 통해 빨간색 글씨로 나오게끔 하였다. 위에서 action 이 user/join_pro 이기에 PostMapping 을 연결해 주었다. 유효성 검사가 목적이기 때문에 Valid 를 해주었고, jsp에서 modelAttribute 값에 맞게 joinUserBean으로 이름을 정해주었다. BindingResult도 해주었다. 밑의 IniBInder는 내가 에러메세지를 커스텀 할 때에 UserController에서 사용하기 때문에 선언해주었다. 검사는 다음과 같은 값으로 해주었다. 커스텀을 위해 UserValidator를 만들어 주었다. 에러 메서지 프로퍼티 를 메세지처리하여 다음과 같..

    2020.04.26 - 미니프로젝트(2) (상단 메뉴 db 가져와서 구성하기)

    2020.04.26 - 미니프로젝트(2) (상단 메뉴 db 가져와서 구성하기)

    상단메뉴에 게시판 이름들을 데이터베이스 정보를 가져와서 그 부분을 매꾸도록 했다. 먼저 db에 다음과 같이 board_info_table 를 만들어 놓았다. 이를 가져오기 위해 mapper 패키지와 TopMenuMapper.class 를 만들었다. ServletAppContext.java에 등록은 덤 dao에서 이 mapper를 이용해 getTopMenuList() 를 리스트안에 저장해 두었고 그 리스트를 리턴했다. TopMenuService 에서 dao의 리스트를 받아와서 리스트를 다시 리턴해준다. 패키지 만드는 것은 당연 이 topmenu는 모든 곳에서 쓰이기 때문에 interceptor 의 prehandle 을 통해 미리 적용을 해준다. interceptor 도 ServletAppContext.ja..