본문 바로가기

#Java19

[mybatis] mapper 설정 오류 mapper.xml을 작성 할때 추가하지 않아서 톰캣 실행시 오류가 뜬다.servlet-context.xml 에 경로를 설정 하더라도 경로를 찾지 못해서주소 앞에 * 추가 -> 경로는 찾는다 ! 하지만 mapper가 제역할을 하지 못하고 오류를 내뱉는다.Mapped Statements collection does not contain value for ... 매퍼의 id가 다를때, Parameter와 bean의 필드 명이 다를때, mapper.xml namespace와 DAO에서 호출하는 namespace가 다를때, 매퍼가 없거나 스펠링이 틀릴때 뜨는거라는데(참고) 이유는 요것 을 빼놓아서... 만들때 잘 만들자 빼놓지 말고 [출처] [error] Mapped Statements collection do.. 2017. 2. 2.
[MVC] 게시판 예제 2) 입력하기 1. 입력 폼 작성el과 jstl을 사용하여 불필요한 코드들 생략 boardAdd.jsp 2. controller 작성 BoardController.java http://localhost/board/boardAdd 를 GET방식으로 요청하면 /board/boardAdd.jsp 를 보여주고POST방식으로 요청하면 boardService.addBoard(board)메소드를 호출호출 후 Redirect 해 BoardList로 이동한다. 3. 인터페이스유지보수를 편리하게 하기 위해 BoardServiceImpl를 생성하고 BoardService인터페이스를 구현한다. BoardService.java BoardServiceImpl.java BoardDao.java BoardDaoImpl.java com.tistor.. 2017. 1. 6.
[MVC] 게시판 예제 1) 준비하기 mySQL 설치 후 테이블 생성 web.xml 설정 spring안의 DispatcherServlet 을 appServlet이라 명하고 실행되면 첫 번째로 servlet-context.xml 객체를 호출한다 모든 요청을 appServlet 이 가로채게 매핑 해놓았다. servlet-context.xml 설정 spring에서 사용하는 객체들을 bean과 닮았다 하여 bean이라 불리며 설정을 해놓으면 자동적으로 객체가 생성된다. /WEB-INF/views/board/boardAdd.jsp 라 적어야 하지만 중복되는 것을 자동으로 붙게 설정해 놓아 우리가 /board/boardAdd 라고만 요청하더라도 주소를 완성할수 있게 해주고 매번 DB연결을 매번 하지 않도록 미리 객체를 생성해 mabatis에 주입해 조.. 2017. 1. 6.
[Lesson06] properties를 이용 객체 관리 설명 1 어제까지는 MVC에 대한 구동원리를 배웠고더이상 컨트롤러를 손대지않아도 된다하지만 이제는 리스너를 손대야 한다 톰캣은 서블릿 객체를 관리하지 일반 객체를 관리하지는 않는다일반 객체를 관리하는 클래스 역할을 하는게 Spring 프레임 워크이다.mvc는 서블릿 프레임워크di는 객체관리를 편하게 해주는 프레임워크 A라는 클래스가 추가 될때 마다 리스너에 등록을 해줘야하는데리스너는 서블릿인데 서블릿은 객체를 관리역할을 하는 것이 아니다그러므로 리스너는 객체와 관련된 부분을 관여하지 않고setter를 찾아 주입을 시켜줄 것이다 결론적으로는 객체를 관리하는 메인을Dispatcher 서블릿이 리스너를 통해 가져왔다면이제는 application-context를 통해 가져오게 할 것이다. 1) MVC 프레임워크 컨트롤러.. 2016. 12. 30.
[Lesson05] 리스너 외부 라이브러리에 의존하는 것은 좋지 않아 DB와 관련되어있는 것들을 빼려한다.생명주기 리스너를 만들어서 톰캣이 실행 될때 종료 될때 Connection 연결과 종료를 하는것 이다. MemberListServlet.java(변경 전) ContextLoaderListener.java톰캣이 실행 될때(이벤트발생) ServletContext에 있는 정보를 가져와드라이버 로딩 및 연결을 하라는 메소드 작성,톰캣이 종료 될때(이벤트발생) Connection을 종료하라는 메소드 작성 web.xmlDB연결과 종료 역할을 하던 AppInitServlet 의 역할을 ContextLorderListener 가 하기 때문에AppInitServlet 의 삭제 및 매핑 설정도 같이 삭제 Listener 설정context-par.. 2016. 12. 21.
[Lesson05] ListServlet DAO 분리 MemberListServlet.java(수정 전)대부분의 역할을 서블릿 혼자 하고 있다.소규모 프로젝트에서는 이렇게 사용하여도 크게 문제가 없지만대규모 프로젝트나 중복되는 코드가 많다면 분리를 시켜주는게 좋다. MemberDao.javasetConnection()을 호출하지 않고 selectList() 메소드를 호출하게 되면 connection 변수를 선언만 하고 객체를 생성하지 않았기 때문에변수의 값은 null임으로 NullPointException이 난다. MemberListServlet에서 DB 연결부분 복사해서 여기서 사용하면 안되나 싶기도 하지만ServletContext는 서블릿만 접근이 가능하여 일반 클래스에서는보관된 Connection 객체를 꺼낼수 없어 setConnection()메소드를.. 2016. 12. 16.
[Lesson01web] Calculator code review 2016. 12. 8.
[Lesson01] exam02 Calculator code review CMV가 되어 있다. CalculatorFrame.java CalculatorServer.java우리가 사용 할땐 톰캣이 해주지만 이렇게 코드를 작성 할 수 있다. 문제는 서버를 꼭 설치를 해주어야 하며 보여줘서는 안될것이 클라이언트 측에 보여질 수도 있다. CalculatorAgent.java 2016. 12. 8.
[Lesson01] exam01 CalculatorFrame code review MVC가 존재한다. .exe 확장자는 c c++ 의 실행 파일이다..jar .class 확장자는 java 의 실행파일 2016. 12. 8.