코드로 배우는 스프링 웹 프로젝트 예제 소스코드

PART1예제코드.zip

PART2예제코드.zip

PART2_리소스코드_static.zip

PART2_리소스코드_include.zip

PART3예제코드.zip

PART4예제코드.zip

PART5예제코드.zip

PART6예제코드.zip

부록예제코드.zip

전체 본문 예제코드_ex00.zip

전체 본문 예제코드_ex01.zip

전체 본문 예제코드_ex02.zip

전체 본문 예제코드_ex03.zip

전체_본문 예제코드_ex04.zip

전체_본문 예제코드_ex05.zip


코드로 배우는 스프링 웹 프로젝트 정오표

 

스프링 정오표_7쇄.docx

스프링 정오표_8쇄.docx

 

 

 

 

 

 






신고
Posted by 남가람북스 남가람북스

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 독자 2015.09.07 14:55 신고 Address Modify/Delete Reply

    PART2 page 199쪽 부터 책의 실행 예제와 include 올려주신게 다른걸로 보입니다. 내용 확인 부탁드립니다.

  3. 구코단 2015.09.07 16:21 신고 Address Modify/Delete Reply

    구코단의 쿠키입니다.

    현재 사이트에 올려진 코드들을 이용해서 직접 프로젝트를 생성해서 테스트를 진행했습니다.

    실행 결과 화면상의 'General Form Element' 라는 문구 대신에 'Board Management' 라는 문구가 보이는 부분을 제외하면 이상이 없어 보입니다(제가 마지막 소스를 수정했는데 화면은 예전소스였습니다 죄송합니다).

    화면 자체가 반응형 웹이라 크기에 따라 모양이 조금 다르게 보이실 수는 있습니다만 이는 브라우저 창의 크기를 조절해 보시면 됩니다.

    실행되는 화면은 https://www.facebook.com/profile.php?id=100008845695775 을 통해서 확인하실 수 있습니다.

    만일 해결이 안되신다면 다시 알려주시면 감사하겠습니다.

  4. 개발자2 2015.09.13 23:17 신고 Address Modify/Delete Reply

    part2 초반 올려주신 소스로 연습할때
    header.jsp랑 footer.jsp의 resource로의 href경로가 다 맞지않아서 그림파일 및, css,js파일이
    맵핑안된다고 메세지가 뜹니다. 그래서 해당 페이지의 ui가 제대로 나타니자 않습니다.

    확인부탁드려요

    • 구멍가게 코딩단/남가람북스 2015.09.17 17:12 신고 Address Modify/Delete

      서버의 경로가 /web으로 되면 안됩니다.
      책에 서버 경로를 잡으시면 문제없이 화면에 나옵니다. 지난번 문의와 같은 내용이라 홈페이지에서 다운 받은 코드로 실행했습니다.

      해당 부분만을 이번 주 내에 동영상으로 작성해서 착오가 없으시도록 하겠습니다.

    • 구멍가게 코딩단/남가람북스 2015.09.17 17:21 신고 Address Modify/Delete

      책에서 서버 설정 부분은 조금 뒤쪽의 3.2에 나오는 설정을 마친후에 보실 수 있습니다. 196페이지 부분을 참고하시면 됩니다.

  5. 얼매 2015.09.17 13:49 신고 Address Modify/Delete Reply

    책을 사서 따라하면서 정말 많은것을 이해하고 도움을 많이 받았습니다 감사합니다
    오라클로 제가 수정해서 공부하고있는데 part2에서 페이징처리 쿼리 boardMapper.xml에서
    <select id="listPage" resultType="BoardVO">
    <![CDATA[
    select
    bno, title, content, writer, regdate, viewcnt
    from
    tbl_board
    where bno > 0
    order by bno desc, regdate desc
    limit #{page}, 10
    ]]>
    </select>

    <select id="listCriteria" resultType="BoardVO">
    <![CDATA[
    select
    bno, title, content, writer, regdate, viewcnt
    from
    tbl_board
    where bno > 0
    order by bno desc, regdate desc
    limit #{pageStart}, #{perPageNum}
    ]]>
    </select>
    오라클로 바꺼서 하고있는데 오라클쿼리로좀 알려주실수있나요

    • 구멍가게 코딩단/남가람북스 2015.09.17 17:15 신고 Address Modify/Delete

      안녕하세요.
      오라클과 관련된 질문이 많은 관계로 페이징 쿼리는 17일 중으로 올리도록 하겠습니다.

      오라클 버전은 별도의 동영상이나 자료등을 협의중에 있습니다.

  6. 박현민 2015.09.18 08:47 신고 Address Modify/Delete Reply

    저는 이렇게 처리했습니다 허접하지만 오라클 쿼리 참고하세요
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <mapper namespace="org.zerock.mapper.BoardMapper">

    <insert id="create">
    insert into tbl_board (title, content, writer)
    values(#{title},#{content}, #{writer})
    </insert>

    <select id="read" resultType="org.zerock.domain.BoardVO">
    select
    bno, title, content, writer, regdate, viewcnt
    from
    tbl_board
    where bno = #{bno}
    </select>

    <update id="update">
    update tbl_board set title =#{title}, content =#{content}
    where bno = #{bno}
    </update>

    <delete id="delete">
    delete from tbl_board where bno = #{bno}
    </delete>

    <select id="listAll" resultType="org.zerock.domain.BoardVO">
    <![CDATA[
    select
    bno, title, content, writer, regdate, viewcnt
    from
    tbl_board
    where bno > 0
    order by bno desc, regdate desc
    ]]>
    </select>

    <select id="listPage" resultType="BoardVO">
    <![CDATA[

    select *
    from(select bno
    , title
    , content
    , writer
    , regdate
    , viewcnt
    , row_number() over(order by bno desc, regdate desc) rn
    from tbl_board
    where bno > 0)
    where rn BETWEEN #{page} AND #{page}+10
    order by rn

    ]]>
    </select>

    <select id="listCriteria" resultType="BoardVO">
    <![CDATA[

    select *
    from(select bno
    , title
    , content
    , writer
    , regdate
    , viewcnt
    , row_number() over(order by bno desc, regdate desc) rn
    from tbl_board
    where bno > 0)
    where rn BETWEEN #{page} AND #{page}+#{perPageNum}
    order by rn


    ]]>
    </select>



    <select id="countPaging" resultType="int">
    <![CDATA[
    select
    count(bno)
    from
    tbl_board
    where
    bno > 0
    ]]>
    </select>

    <sql id="search1">
    <if test="searchType == null" >

    </if>
    <if test="searchType != null" >

    <if test="searchType == 't'.toString()">
    and title like ('%'|| #{keyword}|| '%')
    </if>
    <if test="searchType == 'c'.toString()">
    and content like ('%'|| #{keyword}|| '%')
    </if>
    <if test="searchType == 'w'.toString()">
    and writer like ('%'|| #{keyword}|| '%')
    </if>
    <if test="searchType == 'tc'.toString()">
    and ( title like ('%'|| #{keyword}|| '%') OR content like ('%'|| #{keyword}|| '%'))
    </if>
    <if test="searchType == 'cw'.toString()">
    and ( content like ('%'|| #{keyword}|| '%') OR writer like ('%'|| #{keyword}|| '%'))
    </if>
    <if test="searchType == 'tcw'.toString()">
    and ( title like ('%'|| #{keyword}|| '%')
    OR
    content like ('%'|| #{keyword}|| '%')
    OR
    writer like ('%'|| #{keyword}|| '%'))
    </if>

    </if>
    </sql>

    <sql id="search">
    <if test="searchType == null" >
    ) where bno > 0
    </if>

    <if test="searchType == ''.toString()">
    and title like ('%'|| #{keyword}|| '%')) where bno > 0
    </if>
    <if test="searchType == 't'.toString()">
    and title like ('%'|| #{keyword}|| '%')) where bno > 0
    </if>
    <if test="searchType == 'c'.toString()">
    and content like ('%'|| #{keyword}|| '%')) where bno > 0
    </if>
    <if test="searchType == 'w'.toString()">
    and writer like ('%'|| #{keyword}|| '%')) where bno > 0
    </if>
    <if test="searchType == 'tc'.toString()">
    and ( title like ('%'|| #{keyword}|| '%') OR content like ('%'|| #{keyword}|| '%'))) where bno > 0
    </if>
    <if test="searchType == 'cw'.toString()">
    and ( content like ('%'|| #{keyword}|| '%') OR writer like ('%'|| #{keyword}|| '%'))) where bno > 0
    </if>
    <if test="searchType == 'tcw'.toString()">
    and ( title like ('%'|| #{keyword}|| '%')) where bno > 0
    OR
    content like ('%'|| #{keyword}|| '%')) where bno > 0
    OR
    writer like ('%'|| #{keyword}|| '%'))) where bno > 0
    </if>

    </sql>

    <select id="listSearch" resultType="BoardVO">
    <![CDATA[
    select *
    from(select bno
    , title
    , content
    , writer
    , regdate
    , viewcnt
    , row_number() over(order by bno desc) rn
    from tbl_board
    where bno > 0
    ]]>
    <include refid="search"></include>


    <![CDATA[
    AND rn BETWEEN #{page} AND #{page}+#{perPageNum}
    order by rn


    ]]>
    </select>

    <select id="listSearchCount" resultType="int">
    <![CDATA[
    select count(bno)
    from tbl_board
    where bno > 0
    ]]>
    <include refid="search1"></include>

    </select>

    </mapper>

  7. 쿠키 2015.09.18 09:08 신고 Address Modify/Delete Reply

    위의 박현민님은 over( )를 이용하셨지만.. 조금 더 무난한 방법으로

    rownum과 인라인뷰를 이용하는 방법을 http://zerockcode.blogspot.kr/에 등록해 두었습니다.

    참고하시기 바랍니다.

  8. 얼매 2015.09.22 17:29 신고 Address Modify/Delete Reply

    part5. 566페이지 일반파일 경우 다운로드 테스트하는데 다운로드가 안되고 에러보니 한글이 깨지고 다운로드가 되지않습니다 @ResponseBody
    @RequestMapping("/displayFile")
    public ResponseEntity<byte[]> displayFile(String fileName)throws Exception{

    InputStream in = null;
    ResponseEntity<byte[]> entity = null;

    logger.info("FILE NAME: " + fileName);

    try{

    String formatName = fileName.substring(fileName.lastIndexOf(".")+1);

    MediaType mType = MediaUtils.getMediaType(formatName);

    HttpHeaders headers = new HttpHeaders();

    in = new FileInputStream(uploadPath+fileName);

    if(mType != null){
    headers.setContentType(mType);
    }else{

    fileName = fileName.substring(fileName.indexOf("_")+1);
    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
    headers.add("Content-Disposition", "attachment; filename=\""+
    new String(fileName.getBytes("UTF-8"), "ISO-8859-1")+"\"");
    }

    entity = new ResponseEntity<byte[]>(IOUtils.toByteArray(in),
    headers,
    HttpStatus.CREATED);
    }catch(Exception e){
    e.printStackTrace();
    entity = new ResponseEntity<byte[]>(HttpStatus.BAD_REQUEST);
    }finally{
    in.close();
    }
    return entity;
    }

    에러
    INFO : org.zerock.controller.UploadController - FILE NAME: /2015/09/22/이력서.pptx
    java.io.FileNotFoundException: C:\myBatis\upload\2015\09\22\이력서.pptx (지정된 파일을 찾을 수 없습니다)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at java.io.FileInputStream.<init>(FileInputStream.java:101)
    at org.zerock.controller.UploadController.displayFile(UploadController.java:106)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:744)
    9월 22, 2015 5:29:08 오후 org.apache.catalina.core.StandardWrapperValve invoke
    심각: Servlet.service() for servlet [appServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    at org.zerock.controller.UploadController.displayFile(UploadController.java:125)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:85)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:744)
    이렇게 나오는데 한글 안깨지게할라면 어디를 수정해야하나요

    • 구코단 2015.09.22 17:36 신고 Address Modify/Delete

      열매님.. 우선 확인해 봐야 하는 것은 업로드된 파일의 이름은 한글이 안 깨졌는지를 확인해 주시구요..

      두번째로는 브라우저에서 파일의 이름이 전송될 때 컨트롤러에서 한글 이름이 깨지지 않았는지..로그를 찍어 주세요..

      마지막으로 위의 두 가지 모두 문제가 없으시다면 zercockcode@gmail.com으로 프로젝트 파일을 압축해서 보내주시면 좀 더 확인하기가 좋을 듯 합니다.

  9. 얼매 2015.09.22 17:58 신고 Address Modify/Delete Reply

    구코단님 프로젝트 파일 보냈습니다 확인부탁드리겠습니다~

  10. 얼매 2015.09.22 18:00 신고 Address Modify/Delete Reply

    구코단님 메일보낼려고하니


    보낸시간 :
    2015-09-22 PM 05:59 (GMT +0900)

    받는주소 :
    zercockcode@gmail.com

    메일제목 :
    얼매입니다


    실패사유 :
    받는 사람의 메일 주소가 존재하지 않거나,
    오랫동안 사용하지 않아서 휴면 상태입니다.

    사유원문 :
    550-5.1.1 The email account that you tried to reach does not exist. Please try

    해결방법 :
    받는 사람의 메일 주소가 정확한지 다시 확인하고 발송해 보세요.

    보내신 메일의 원본을 첨부합니다. 첨부 파일을 확인해 주십시오.

  11. mars 2015.11.18 22:47 신고 Address Modify/Delete Reply

    안녕하세요 다름이 아니라 코드로 배우는 스프링 웹 프로젝트를 구매하였습니다. 다름이 아니라
    static.zip와 include.zip 추가후 서버를 재시작하였는데 템플릿이 다 깨지는것 같습니다.
    설정을 잘못한건건가요? 확인부탁드리겠습니다.

    • 76jin 2016.02.19 17:53 신고 Address Modify/Delete

      저도 동일한 증상이 있었습니다.
      교재 196페이지 부분을 참고하니까 안깨지네요.
      그리고, 교재 196p 참고해도 종종 깨지는 경우가 있습니다. 그럴 때는 웹모듈 path를 다른 것으로 바꿔서 재시작하고, 다시 path를 "/"로 바꿔서 재시작 하니까 되더라구요. 참고하세요^^;

  12. dd 2015.11.24 19:39 신고 Address Modify/Delete Reply

    --boardMapper.xml--
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <mapper namespace="org.zerock.mapper.BoardMapper">
    <insert id="create">
    insert into tbl_board (title, content, writer)
    values(#{title},#{content}, #{writer})
    </insert>

    <select id="read" resultType="org.zerock.domain.BoardVO">
    select bno, title, content, writer, regdate, viewcnt from tbl_board where bno = #{bno}
    </select>

    <upate id="update">
    update tbl_board set title =#{title}, content =#{content} where bno =#{bno}
    </upate>

    <delete id="delete">
    delete from tbl_board where bno = #{bno}
    </delete>

    <select id="listAll" resultType="org.zerock.domain.BoardVO">
    <![CDATA[
    select bno, title, content, writer, regdate, viewcnt
    from tbl_board where bno > 0 order by bno desc, regdate desc ]]>
    </select>
    </mapper>

    이 부분인데요

    오류 내용이

    The content of element type "mapper" must match "(cache-
    ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|
    delete*|select*)+"

    이렇게 나오는데 어떻게 해야할까요 ㅠㅠ

  13. dd 2015.11.24 19:39 신고 Address Modify/Delete Reply

    --boardMapper.xml--
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <mapper namespace="org.zerock.mapper.BoardMapper">
    <insert id="create">
    insert into tbl_board (title, content, writer)
    values(#{title},#{content}, #{writer})
    </insert>

    <select id="read" resultType="org.zerock.domain.BoardVO">
    select bno, title, content, writer, regdate, viewcnt from tbl_board where bno = #{bno}
    </select>

    <upate id="update">
    update tbl_board set title =#{title}, content =#{content} where bno =#{bno}
    </upate>

    <delete id="delete">
    delete from tbl_board where bno = #{bno}
    </delete>

    <select id="listAll" resultType="org.zerock.domain.BoardVO">
    <![CDATA[
    select bno, title, content, writer, regdate, viewcnt
    from tbl_board where bno > 0 order by bno desc, regdate desc ]]>
    </select>
    </mapper>

    이 부분인데요

    오류 내용이

    The content of element type "mapper" must match "(cache-
    ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|
    delete*|select*)+"

    이렇게 나오는데 어떻게 해야할까요 ㅠㅠ

  14. dd 2015.11.24 19:39 신고 Address Modify/Delete Reply

    --boardMapper.xml--
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    <mapper namespace="org.zerock.mapper.BoardMapper">
    <insert id="create">
    insert into tbl_board (title, content, writer)
    values(#{title},#{content}, #{writer})
    </insert>

    <select id="read" resultType="org.zerock.domain.BoardVO">
    select bno, title, content, writer, regdate, viewcnt from tbl_board where bno = #{bno}
    </select>

    <upate id="update">
    update tbl_board set title =#{title}, content =#{content} where bno =#{bno}
    </upate>

    <delete id="delete">
    delete from tbl_board where bno = #{bno}
    </delete>

    <select id="listAll" resultType="org.zerock.domain.BoardVO">
    <![CDATA[
    select bno, title, content, writer, regdate, viewcnt
    from tbl_board where bno > 0 order by bno desc, regdate desc ]]>
    </select>
    </mapper>

    이 부분인데요

    오류 내용이

    The content of element type "mapper" must match "(cache-
    ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|
    delete*|select*)+"

    이렇게 나오는데 어떻게 해야할까요 ㅠㅠ

  15. 히바리쿄야 2015.11.25 15:00 신고 Address Modify/Delete Reply

    문의 드립니다..교재 197 페이지 sts 하단의 server 탭을 사용해서 ex01 프로젝트를
    추가하라고 되어 있습니다만.. 스프링 프로젝트로 처음 실습을 했을때 ex01 로 했으면
    같은 이름이 중복되어서 프로젝트가 추가가 안되는 것으로 알고 있습니다..
    그리고 또한 컨트롤러 패키지 에서 BoardController 를 톰캣으로 실행을 했는데
    ui 화면이 안뜨고 404 에러 메세지가 떴습니다.. 서버탭에서 톰캣 더블클릭 후
    모듈즈 쪽 에서 패스 설정하려고 했는데 책에 내용대로 /controller 로 나오지
    않고 /web 으로 고정이 되어서 나옵니다.. 그리고 혹시나 해서 / 로 경로를 수정했는데도
    불구하고 ui 화면이 나오지 않네요.. 여기서 부터 막혀가지고.. 진도를 못나가고 있습니다.
    그리고 디팬던시 나 마이바티스 오라클 설정 부분도 동영상 강의나 자료가 있었으면
    좋겠네요 mysql 만 있어서 그런지 오라클 자료도 pdf 나 동영상 자료도 올려주셨으면
    좋겠습니다.. 꼭 답변 부탁드립니다.

  16. 히바리쿄야 2015.11.25 15:40 신고 Address Modify/Delete Reply

    아까 경로 옮기고 해봤는데 이런 에러메세지가 뜨는데요

    -_- 왜 그러는지 모르겠습니다.

    11월 25, 2015 3:34:41 오후 org.apache.tomcat.util.digester.SetPropertiesRule begin
    경고: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:spring01' did not find a matching property.
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Server version: Apache Tomcat/8.0.27
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Server built: Sep 28 2015 08:17:25 UTC
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Server number: 8.0.27.0
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: OS Name: Windows 7
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: OS Version: 6.1
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Architecture: amd64
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Java Home: C:\Program Files\Java\jre1.8.0_65
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: JVM Version: 1.8.0_65-b17
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: JVM Vendor: Oracle Corporation
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: CATALINA_BASE: D:\spring_test\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: CATALINA_HOME: C:\Program Files\Apache Software Foundation\Tomcat 8.0
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:9794
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -Dcatalina.base=D:\spring_test\.metadata\.plugins\org.eclipse.wst.server.core\tmp1
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\Tomcat 8.0
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -Dwtp.deploy=D:\spring_test\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\Tomcat 8.0\endorsed
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.VersionLoggerListener log
    정보: Command line argument: -Dfile.encoding=UTF-8
    11월 25, 2015 3:34:42 오후 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
    정보: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_65\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre1.8.0_65/bin/server;C:/Program Files/Java/jre1.8.0_65/bin;C:/Program Files/Java/jre1.8.0_65/lib/amd64;C:\ProgramData\Oracle\Java\javapath;D:\app\song\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Bin\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;C:\Users\song\Downloads\apache-maven-3.2.5\bin;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\MATLAB\MATLAB Production Server\R2015a\runtime\win64;C:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin;C:\Program Files\MATLAB\MATLAB Production Server\R2015a\polyspace\bin;C:\Program Files\Java\jdk1.8.0_60\bin;C:\Program Files\Bandizip\7z;C:\Users\song\Downloads\spring\sts-bundle\sts-3.7.1.RELEASE;;.
    11월 25, 2015 3:34:42 오후 org.apache.coyote.AbstractProtocol init
    정보: Initializing ProtocolHandler ["http-nio-8010"]
    11월 25, 2015 3:34:42 오후 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    정보: Using a shared selector for servlet write/read
    11월 25, 2015 3:34:42 오후 org.apache.coyote.AbstractProtocol init
    정보: Initializing ProtocolHandler ["ajp-nio-8009"]
    11월 25, 2015 3:34:42 오후 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
    정보: Using a shared selector for servlet write/read
    11월 25, 2015 3:34:42 오후 org.apache.catalina.startup.Catalina load
    정보: Initialization processed in 1103 ms
    11월 25, 2015 3:34:42 오후 org.apache.catalina.core.StandardService startInternal
    정보: Starting service Catalina
    11월 25, 2015 3:34:42 오후 org.apache.catalina.core.StandardEngine startInternal
    정보: Starting Servlet Engine: Apache Tomcat/8.0.27
    11월 25, 2015 3:34:45 오후 org.apache.jasper.servlet.TldScanner scanJars
    정보: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
    11월 25, 2015 3:34:45 오후 org.apache.catalina.core.ApplicationContext log
    정보: No Spring WebApplicationInitializer types detected on classpath
    11월 25, 2015 3:34:45 오후 org.apache.catalina.core.ApplicationContext log
    정보: Initializing Spring root WebApplicationContext
    INFO : org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization started
    INFO : org.springframework.web.context.support.XmlWebApplicationContext - Refreshing Root WebApplicationContext: startup date [Wed Nov 25 15:34:45 KST 2015]; root of context hierarchy
    INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring/root-context.xml]
    INFO : org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor - JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
    11월 25, 2015 3:34:46 오후 org.apache.catalina.core.StandardContext listenerStart
    심각: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1222)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1510)
    ... 22 more

    11월 25, 2015 3:34:46 오후 org.apache.catalina.core.StandardContext startInternal
    심각: One or more listeners failed to start. Full details will be found in the appropriate container log file
    WARN : org.springframework.web.context.support.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1222)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1510)
    ... 22 more
    ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1514)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1222)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:434)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'driverClassName' threw exception; nested exception is java.lang.NoClassDefFoundError: Unable to find Log4j2 as default logging library. Please provide a logging library and configure a valid spyLogDelegator name in the properties file.
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:121)
    at org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:75)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1510)
    ... 22 more
    11월 25, 2015 3:34:46 오후 org.apache.catalina.util.SessionIdGeneratorBase createSecureRandom
    정보: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [131] milliseconds.
    11월 25, 2015 3:34:46 오후 org.apache.catalina.core.StandardContext startInternal
    심각: Context [] startup failed due to previous errors
    11월 25, 2015 3:34:46 오후 org.apache.catalina.core.ApplicationContext log
    정보: Closing Spring root WebApplicationContext
    11월 25, 2015 3:34:46 오후 org.apache.coyote.AbstractProtocol start
    정보: Starting ProtocolHandler ["http-nio-8010"]
    11월 25, 2015 3:34:46 오후 org.apache.coyote.AbstractProtocol start
    정보: Starting ProtocolHandler ["ajp-nio-8009"]
    11월 25, 2015 3:34:46 오후 org.apache.catalina.startup.Catalina start
    정보: Server startup in 3979 ms

  17. 구코단 2015.11.26 16:30 신고 Address Modify/Delete Reply

    구코단입니다.

    위의 메세지에서보면 datasource연결에 문제가 있다는 메세지가 보입니다.

    ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Error setting property values; nested exception is

    특히 driverClassName이 틀렸다는 걸로 봐서는 JDBC 드라이버의 이름이 틀리신듯 한데요...

    좀 더 자세한 점을 알려면 zerockcode@gmail.com으로 프로젝트 파일 한번 보내봐 주시면 좀 더 살펴볼 수 있을꺼 같습니다.

  18. 질문답변게시판 2015.12.03 10:56 신고 Address Modify/Delete Reply

    질문답변 게시판이 있으면 좋겠네요. 하다가 궁금한게 많아서요 ^^..

    p.115 에 리다이렉트 하는 부분에서요 doE에서 msg에 넣은 내용이 doF 호출되었을때 msg가 null로 나오네용. ^^... 원래 이런건가요^^;

  19. zerockcode 2015.12.15 15:50 신고 Address Modify/Delete Reply

    msg값은 한번은 전송되고, 두번째부터는 null이 나오는게 맞습니다. 블로그를 통하시거나 zerockcode@gmail.com으로 연락주시면 빠른 답변 받으실 수 있습니다.

  20. 김보 2016.02.25 23:05 신고 Address Modify/Delete Reply

    plugins 폴더에서 자꾸 에러나는건 뭘까요??
    ckeditor 랑 daterangepicker 에서 엑스표가 많이 생깁니다..

    • 제록코드 2016.04.21 09:23 신고 Address Modify/Delete

      김보님..

      plugins폴더의 내용물은 자바스크립트의 인코딩이 UTF-8로 되어 있기 떄문에 윈도우처럼 MS949 인코딩을 이용하는 경우에는 'x'표시가 보이는 경우가 많습니다.

      UTF-8로 프로젝트 전체를 설정하고, 'x'표가 나오는 경우 해당 파일을 열어서 약간의 공백등을 넣으신 후에 저장하시면 없애실 수 있습니다.

  21. jobang 2016.12.30 17:10 신고 Address Modify/Delete Reply

    169 페이지 include 와 static 파일을 다운받아서 적용시키는데
    서버의 실행경로를 '/' 로 안바꾸고 그냥 그대로 두고 하고싶으면 어떻게 수정해야하나요???

    • 쿠키 2016.12.30 18:06 신고 Address Modify/Delete

      jobang님.. 현재 실행 경로가 http://localhost:8080/web 이라면..

      모든 링크가 '/'가 아닌 '/web/' 로 변경하거나 '${pageContext.request.contextPath}/' 로 변경하셔야 합니다.

      우선 include폴더에 있는 header.jsp 파일 내의 모든 경로를 수정하신 후에 화면에 이미지등이 정상적으로 나오도록 확인하신 후에 나머지를 적용하시면 될겁니다.

      구멍가게 코딩단 카페(cafe.naver.com/gugucoding)에 질문을 올리시는게 더 빠른 대답을 받아보실 수 있으니 참고해 주세요.

티스토리 툴바