diff --git a/data/dataxml/uac.service.board.qna.list_GET.xml b/data/dataxml/uac.service.board.qna.list_GET.xml index 1ab66ff9..524782ec 100644 --- a/data/dataxml/uac.service.board.qna.list_GET.xml +++ b/data/dataxml/uac.service.board.qna.list_GET.xml @@ -1,95 +1,78 @@ - - - - S - 성공적으로 조회되었습니다. - 10 - 1 - 15 - - 1 - 101 - 공지사항 테스트 - 15 - 2021-07-19 - - - 2 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 3 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 4 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 5 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 6 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 7 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 8 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 9 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 10 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 11 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - - 12 - 101 - 공지사항 테스트 - 55 - 2021-07-19 - - 3333 - - + + + + 1 + 15 + 125 + + 1 + 101 + 공지사항 테스트 + 15 + 2021-07-19 + + + 2 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 3 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 4 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 5 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 6 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 7 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 8 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 9 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + 10 + 101 + 공지사항 테스트 + 55 + 2021-07-19 + + + diff --git a/data/dataxml/uac.service.board.qna_GET.xml b/data/dataxml/uac.service.board.qna_GET.xml new file mode 100644 index 00000000..e589c50a --- /dev/null +++ b/data/dataxml/uac.service.board.qna_GET.xml @@ -0,0 +1,41 @@ + + + + + 5 + 101 + 공지사항 테스트 + 111 + 15 + 2021-07-19 + 김아무 + 답변완료 + myid@digitalship.co.kr + 질문이 있습니다. + 111111=화면캡쳐.jpg;222222=화면캡쳐2.jpg; + 이렇게 답변 드립니다. + 333333=결과확인.jpg; + + + 1 + 1 + 2 + + 4 + 101 + 이전의 글제목입니다. + 2021-07-19 + 김아무 + 답변완료 + + + 6 + 102 + 다음의 글제목입니다. + 2021-07-20 + 홍아무 + 답변완료 + + + + diff --git a/data/dataxml/uac.service.board.qna_POST.xml b/data/dataxml/uac.service.board.qna_POST.xml new file mode 100644 index 00000000..74e816f6 --- /dev/null +++ b/data/dataxml/uac.service.board.qna_POST.xml @@ -0,0 +1,7 @@ + + + + + 10 + + diff --git a/data/dataxml/uac.service.board.qna_PUT.xml b/data/dataxml/uac.service.board.qna_PUT.xml new file mode 100644 index 00000000..3ad369cd --- /dev/null +++ b/data/dataxml/uac.service.board.qna_PUT.xml @@ -0,0 +1,7 @@ + + + + + 10 + + diff --git a/data/dataxml/user.sec.login_GET.xml b/data/dataxml/user.sec.login_GET.xml index 7b4bdfcf..f2a97c6b 100644 --- a/data/dataxml/user.sec.login_GET.xml +++ b/data/dataxml/user.sec.login_GET.xml @@ -1,9 +1,9 @@ - - - - admin@digitalship.coom - 홍길동 - XohImNooBHFR0OVvjcYpJ3NgPQ1qq73WKhHvch0VQtg= - 100000001 - ROLE_USER,ROLE_ADMIN - + + + + admin@digitalship.coom + 홍길동 + XohImNooBHFR0OVvjcYpJ3NgPQ1qq73WKhHvch0VQtg= + 100000001 + ROLE_USER,ROLE_ADMIN + diff --git a/src/main/java/nlib/restful/service/XmlConverter.java b/src/main/java/nlib/restful/service/XmlConverter.java index 7c306e33..e0f4c4f2 100644 --- a/src/main/java/nlib/restful/service/XmlConverter.java +++ b/src/main/java/nlib/restful/service/XmlConverter.java @@ -1,239 +1,239 @@ -package nlib.restful.service; - -import java.io.ByteArrayInputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import javax.xml.stream.XMLEventReader; -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.events.StartElement; -import javax.xml.stream.events.XMLEvent; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import nlib.sample.web.SampleEncoderController; -import nlib.util.StringUtil; - -public class XmlConverter { - - private static final Logger log = LoggerFactory.getLogger(XmlConverter.class); - - public static HashMap convert(String xmlStr) throws Exception { - - if(xmlStr == null) return null; - - ByteArrayInputStream bIn = new ByteArrayInputStream(xmlStr.getBytes()); - HashMap resMap = new HashMap(); - - try { - XMLInputFactory inputFactory = XMLInputFactory.newInstance(); - XMLEventReader eventReader = inputFactory.createXMLEventReader(bIn); - - resMap = getElementValue("result", eventReader, null); - log.debug("Converting XML to HashMap : Done >> " + resMap); - } catch (XMLStreamException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - - return resMap; - } - - /** - * @param rootElementName - * @param eventReader - * @param alreadyRootOpened : 부모 요소 찾기 없이 작업 진행할지 여부. false인 경우, rootElementName 요소를 찾아서 이후 값 추출 수행 - * @param startElement - * @return - * @throws Exception - */ - public static HashMap getElementValue( - String rootElementName - , XMLEventReader eventReader - , XMLEvent firstChildElement) throws Exception { - - HashMap retMap = new HashMap(); - - try { - - int depth = (firstChildElement == null ? 0 : 1); - StartElement startElement = null; - - XMLEvent event = firstChildElement; - - String upperElementName = null; - String elementName = null; //(firstChildElement == null ? null : firstChildElement.asStartElement().getName().getLocalPart()); - String content = null; - String elementValue = ""; - HashMap elementValues = null; - boolean hasSubElements = false; - boolean isFirst = true; - - while (eventReader.hasNext()) { - - // 이벤트가 함께 매개변수로 넘어온 경우, 처음 읽기 생략 - if(!isFirst || event == null) { - event = eventReader.nextEvent(); - } - - if(isFirst) isFirst = false; - - - // 1 레벨 엘리먼트 찾기 - if (depth == 0 && event.isStartElement() && event.asStartElement().getName().getLocalPart().equals(rootElementName)) { - depth++; - continue; - } - - // 1 레벨 엘리먼트내의 2 레벨 엘리먼트 찾기 - if(depth == 1 && elementName == null && event.isStartElement()) { - elementName = event.asStartElement().getName().getLocalPart(); - elementValue = ""; - elementValues = null; - hasSubElements = false; - depth++; - continue; - } - - // 2 레벨 엘리먼트 내용 찾기 - if(depth == 2 && elementName != null && event.isCharacters()) { - content = event.asCharacters().getData(); - if(StringUtil.isNotEmpty(content)) { - elementValue += content; - } - continue; - } - - // 2 레벨 엘리먼트 종료 - if(depth == 2 && elementName != null && event.isEndElement()) { - - if(!elementName.equals(event.asEndElement().getName().getLocalPart())) { - throw new Exception("XML문의 요소 시작/종료 태그가 일치하지 않습니다. : " + elementName + " 요소가 " + event.asEndElement().getName().getLocalPart() + "로 종료되었습니다."); - } - - addValue(retMap, elementName, elementValue); - System.out.println(elementName + " : -" + elementValue + "_"); - - elementName = null; - elementValue = ""; - depth--; - } - - // 2 레벨 엘리먼트 > 하위 엘리먼트 존재하는 경우 - if(depth == 2 && elementName != null && event.isStartElement()) { - HashMap subMap = getElementValue(elementName, eventReader, event); - addValue(retMap, elementName, subMap); - depth--; - elementName = null; - } - - // 1 레벨 엘리먼트 종료된 경우, 돌아가기 - if(depth == 1 && elementName == null && event.isEndElement() && rootElementName.equals(event.asEndElement().getName().getLocalPart())) { - depth--; - return retMap; - } - - } // while - - } catch (XMLStreamException e) { - e.printStackTrace(); - } catch (Exception e) { - e.printStackTrace(); - } - - System.out.println("END"); - return retMap; - } - - public static void addValue(HashMap map, String key, Object value) throws Exception { - if(map == null) throw new Exception("값을 넣을 Map 변수가 초기화되지 않았습니다."); - - if(key == null) return; - if(value == null) return; - - Object curValObj = map.get(key); - if(curValObj == null) { - map.put(key, value); - return; - } - - if(curValObj instanceof String || curValObj instanceof HashMap) { - List values = new ArrayList(); - values.add(curValObj); - values.add(value); - map.put(key, values); - } else if(curValObj instanceof List) { - ((ArrayList)curValObj).add(value); - } - - return; - } - -/* - public static void main(String argv[]) throws Exception { - - XmlConverter xmlConverter = new XmlConverter(); - String xmlStr = "\r\n" + - "\r\n" + - "\r\n" + - " S\r\n" + - " 성공적으로 조회되었습니다.\r\n" + - " 10\r\n" + - " 1\r\n" + - " 15\r\n" + - " \r\n" + - " 1\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 15\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " \r\n" + - " 2\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 55\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " \r\n" + - " 3\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 55\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " \r\n" + - " 4\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 55\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " \r\n" + - " 5\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 55\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " \r\n" + - " 6\r\n" + - " 101\r\n" + - " 공지사항 테스트\r\n" + - " 55\r\n" + - " 2021-07-19\r\n" + - " \r\n" + - " 3333\r\n" + - ""; - - HashMap resMap = xmlConverter.convert(xmlStr); - } - */ -} +package nlib.restful.service; + +import java.io.ByteArrayInputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import javax.xml.stream.XMLEventReader; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.events.StartElement; +import javax.xml.stream.events.XMLEvent; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import nlib.sample.web.SampleEncoderController; +import nlib.util.StringUtil; + +public class XmlConverter { + + private static final Logger log = LoggerFactory.getLogger(XmlConverter.class); + + public static HashMap convert(String xmlStr) throws Exception { + + if(xmlStr == null) return null; + + ByteArrayInputStream bIn = new ByteArrayInputStream(xmlStr.getBytes()); + HashMap resMap = new HashMap(); + + try { + XMLInputFactory inputFactory = XMLInputFactory.newInstance(); + XMLEventReader eventReader = inputFactory.createXMLEventReader(bIn); + + resMap = getElementValue("result", eventReader, null); + log.debug("Converting XML to HashMap : Done >> " + resMap); + } catch (XMLStreamException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + + return resMap; + } + + /** + * @param rootElementName + * @param eventReader + * @param alreadyRootOpened : 부모 요소 찾기 없이 작업 진행할지 여부. false인 경우, rootElementName 요소를 찾아서 이후 값 추출 수행 + * @param startElement + * @return + * @throws Exception + */ + public static HashMap getElementValue( + String rootElementName + , XMLEventReader eventReader + , XMLEvent firstChildElement) throws Exception { + + HashMap retMap = new HashMap(); + + try { + + int depth = (firstChildElement == null ? 0 : 1); + StartElement startElement = null; + + XMLEvent event = firstChildElement; + + String upperElementName = null; + String elementName = null; //(firstChildElement == null ? null : firstChildElement.asStartElement().getName().getLocalPart()); + String content = null; + String elementValue = ""; + HashMap elementValues = null; + boolean hasSubElements = false; + boolean isFirst = true; + + while (eventReader.hasNext()) { + + // 이벤트가 함께 매개변수로 넘어온 경우, 처음 읽기 생략 + if(!isFirst || event == null) { + event = eventReader.nextEvent(); + } + + if(isFirst) isFirst = false; + + + // 1 레벨 엘리먼트 찾기 + if (depth == 0 && event.isStartElement() && event.asStartElement().getName().getLocalPart().equals(rootElementName)) { + depth++; + continue; + } + + // 1 레벨 엘리먼트내의 2 레벨 엘리먼트 찾기 + if(depth == 1 && elementName == null && event.isStartElement()) { + elementName = event.asStartElement().getName().getLocalPart(); + elementValue = ""; + elementValues = null; + hasSubElements = false; + depth++; + continue; + } + + // 2 레벨 엘리먼트 내용 찾기 + if(depth == 2 && elementName != null && event.isCharacters()) { + content = event.asCharacters().getData(); + if(StringUtil.isNotEmpty(content)) { + elementValue += content; + } + continue; + } + + // 2 레벨 엘리먼트 종료 + if(depth == 2 && elementName != null && event.isEndElement()) { + + if(!elementName.equals(event.asEndElement().getName().getLocalPart())) { + throw new Exception("XML문의 요소 시작/종료 태그가 일치하지 않습니다. : " + elementName + " 요소가 " + event.asEndElement().getName().getLocalPart() + "로 종료되었습니다."); + } + + addValue(retMap, elementName, elementValue); + System.out.println(elementName + " : -" + elementValue + "_"); + + elementName = null; + elementValue = ""; + depth--; + } + + // 2 레벨 엘리먼트 > 하위 엘리먼트 존재하는 경우 + if(depth == 2 && elementName != null && event.isStartElement()) { + HashMap subMap = getElementValue(elementName, eventReader, event); + addValue(retMap, elementName, subMap); + depth--; + elementName = null; + } + + // 1 레벨 엘리먼트 종료된 경우, 돌아가기 + if(depth == 1 && elementName == null && event.isEndElement() && rootElementName.equals(event.asEndElement().getName().getLocalPart())) { + depth--; + return retMap; + } + + } // while + + } catch (XMLStreamException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + + System.out.println("END"); + return retMap; + } + + public static void addValue(HashMap map, String key, Object value) throws Exception { + if(map == null) throw new Exception("값을 넣을 Map 변수가 초기화되지 않았습니다."); + + if(key == null) return; + if(value == null) return; + + Object curValObj = map.get(key); + if(curValObj == null) { + map.put(key, value); + return; + } + + if(curValObj instanceof String || curValObj instanceof HashMap) { + List values = new ArrayList(); + values.add(curValObj); + values.add(value); + map.put(key, values); + } else if(curValObj instanceof List) { + ((ArrayList)curValObj).add(value); + } + + return; + } + +/* + public static void main(String argv[]) throws Exception { + + XmlConverter xmlConverter = new XmlConverter(); + String xmlStr = "\r\n" + + "\r\n" + + "\r\n" + + " S\r\n" + + " 성공적으로 조회되었습니다.\r\n" + + " 10\r\n" + + " 1\r\n" + + " 15\r\n" + + " \r\n" + + " 1\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 15\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " \r\n" + + " 2\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 55\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " \r\n" + + " 3\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 55\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " \r\n" + + " 4\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 55\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " \r\n" + + " 5\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 55\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " \r\n" + + " 6\r\n" + + " 101\r\n" + + " 공지사항 테스트\r\n" + + " 55\r\n" + + " 2021-07-19\r\n" + + " \r\n" + + " 3333\r\n" + + ""; + + HashMap resMap = xmlConverter.convert(xmlStr); + } + */ +} diff --git a/src/main/java/nlib/util/UUID.java b/src/main/java/nlib/util/UUID.java index 132fd756..9611b0ea 100644 --- a/src/main/java/nlib/util/UUID.java +++ b/src/main/java/nlib/util/UUID.java @@ -1,48 +1,48 @@ -package nlib.util; - -import egovframework.com.utl.fcc.service.EgovFormBasedFileUtil; -import egovframework.com.utl.fcc.service.EgovFormBasedUUID; - -/** - *
- * @Class Name : UUID.java
- * 
- * @Description : UUID를 생성한다. 
- * 
- * 
- * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
- *
- * 
- * - * @ ------------ -------- --------------------------- - * @ 수정일 수정자 수정내용 - * @ ------------ -------- --------------------------- - * @ 2021. 7. 13. KNKIM 최초 생성 - * - * - * @author 이씨플라자 * DIGITALSHIP KNKIM - * @since 2021. 7. 13. - * @version 1.0 - * - */ -public class UUID { - - /** - * 새로운 UUID를 생성하여 리턴한다. - * - * @return - */ - public static String getNewUUID() { - return EgovFormBasedUUID.randomUUID().toString(); - } - - /** - * 파일용 UUID로 생성한 파일명을 리턴한다. - * - * @return - */ - public static String getPhysicalFileName() { - return "F" + StringUtil.getTimeStamp() + "_" + getNewUUID().replaceAll("-", "").toUpperCase(); - } - -} +package nlib.util; + +import egovframework.com.utl.fcc.service.EgovFormBasedFileUtil; +import egovframework.com.utl.fcc.service.EgovFormBasedUUID; + +/** + *
+ * @Class Name : UUID.java
+ * 
+ * @Description : UUID를 생성한다. 
+ * 
+ * 
+ * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
+ *
+ * 
+ * + * @ ------------ -------- --------------------------- + * @ 수정일 수정자 수정내용 + * @ ------------ -------- --------------------------- + * @ 2021. 7. 13. KNKIM 최초 생성 + * + * + * @author 이씨플라자 * DIGITALSHIP KNKIM + * @since 2021. 7. 13. + * @version 1.0 + * + */ +public class UUID { + + /** + * 새로운 UUID를 생성하여 리턴한다. + * + * @return + */ + public static String getNewUUID() { + return EgovFormBasedUUID.randomUUID().toString(); + } + + /** + * 파일용 UUID로 생성한 파일명을 리턴한다. + * + * @return + */ + public static String getPhysicalFileName() { + return "F" + StringUtil.getTimeStamp() + "_" + getNewUUID().replaceAll("-", "").toUpperCase(); + } + +} diff --git a/src/main/webapp/WEB-INF/jsp/nlib/board/updateQnAForm.jsp b/src/main/webapp/WEB-INF/jsp/nlib/board/updateQnAForm.jsp new file mode 100644 index 00000000..79100e5d --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/nlib/board/updateQnAForm.jsp @@ -0,0 +1,143 @@ +<% +/** + *
+ * @Class Name : updateQnAForm.jsp
+ * 
+ * @Description : 묻고답하기 수정화면을 표출한다. 
+ * 
+ * 
+ * @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
+ *
+ * 
+ * + * @ ------------ -------- --------------------------- + * @ 수정일 수정자 수정내용 + * @ ------------ -------- --------------------------- + * @ 2021. 7. 23. KNKIM 최초 생성 + * + * + * @author 이씨플라자 * DIGITALSHIP KNKIM + * @since 2021. 7. 23. + * @version 1.0 + * + */ + %> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> + +묻고답하기 - 수정 + + + + +${pageTitle} + + + + + + + + + + +

${pageTitle }

+ +${message } +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
제목
작성자
이메일
기존비밀번호
비밀번호
질문내용
+ +
+ + + + + +
+ + + + + + + diff --git a/src/main/webapp/WEB-INF/jsp/nlib/cmm/validator.jsp b/src/main/webapp/WEB-INF/jsp/nlib/cmm/validator.jsp index 5fd6058f..da17e41e 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/cmm/validator.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/cmm/validator.jsp @@ -1,4 +1,4 @@ -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> -<%@ page language="java" contentType="application/javascript" pageEncoding="UTF-8"%> -<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page language="java" contentType="application/javascript" pageEncoding="UTF-8"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml index 7c82d6bc..94005e70 100644 --- a/src/main/webapp/WEB-INF/web.xml +++ b/src/main/webapp/WEB-INF/web.xml @@ -1,88 +1,88 @@ - - - nlib - - - encodingFilter - org.springframework.web.filter.CharacterEncodingFilter - - encoding - utf-8 - - - - encodingFilter - *.do - - - - HTMLTagFilter - egovframework.rte.ptl.mvc.filter.HTMLTagFilter - - - HTMLTagFilter - *.do - - - - - springSecurityFilterChain - org.springframework.web.filter.DelegatingFilterProxy - - - springSecurityFilterChain - /* - - - - contextConfigLocation - classpath*:egovframework/spring/context-*.xml - - - - org.springframework.web.context.ContextLoaderListener - - - - action - org.springframework.web.servlet.DispatcherServlet - - contextConfigLocation - /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml - - 1 - - - - action - *.do - - - action - *.ajax - - - index.jsp - - - - BASIC - - - - java.lang.Throwable - /common/error.jsp - - - 404 - /common/error.jsp - - - 500 - /common/error.jsp - - - + + + nlib + + + encodingFilter + org.springframework.web.filter.CharacterEncodingFilter + + encoding + utf-8 + + + + encodingFilter + *.do + + + + HTMLTagFilter + egovframework.rte.ptl.mvc.filter.HTMLTagFilter + + + HTMLTagFilter + *.do + + + + + springSecurityFilterChain + org.springframework.web.filter.DelegatingFilterProxy + + + springSecurityFilterChain + /* + + + + contextConfigLocation + classpath*:egovframework/spring/context-*.xml + + + + org.springframework.web.context.ContextLoaderListener + + + + action + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml + + 1 + + + + action + *.do + + + action + *.ajax + + + index.jsp + + + + BASIC + + + + java.lang.Throwable + /common/error.jsp + + + 404 + /common/error.jsp + + + 500 + /common/error.jsp + + +