jdk 1.8 -> 17, @Component("...") 추가, 사용자 아이디 관련 변경
parent
0cac241cfa
commit
78840279da
@ -1,41 +0,0 @@
|
||||
package cokr.xit.foundation.test;
|
||||
|
||||
import cokr.xit.foundation.component.AbstractDao;
|
||||
|
||||
/**JUnit 테스트 프로그램에서 SQL문을 실행할 때 사용하는 DAO.<br />
|
||||
* 주로 테스트 데이터를 지우는데 사용한다.<br />
|
||||
* TestDao의 매퍼 파일은 test.xml이다.
|
||||
* @author mjkhan
|
||||
*/
|
||||
//@Repository("testDao")
|
||||
public class TestDao extends AbstractDao {
|
||||
/**주어진 INSERT문을 실행한다.
|
||||
* @param sql INSERT SQL
|
||||
* @return 저장된 데이터 수
|
||||
*/
|
||||
public int execInsert(String sql) {
|
||||
return insert("test.insert", params().set("sql", sql));
|
||||
}
|
||||
|
||||
/**주어진 UPDATE문을 실행한다.
|
||||
* @param sql UPDATE SQL
|
||||
* @return 저장된 데이터 수
|
||||
*/
|
||||
public int execUpdate(String sql) {
|
||||
return insert("test.update", params().set("sql", sql));
|
||||
}
|
||||
|
||||
/**주어진 DELETE문을 실행한다.
|
||||
* @param sql DELETE SQL
|
||||
* @return 저장된 데이터 수
|
||||
*/
|
||||
public int execDelete(String sql) {
|
||||
return insert("test.delete", params().set("sql", sql));
|
||||
}
|
||||
|
||||
/**실행된 SQL문을 커밋한다.
|
||||
*/
|
||||
public void commit() {
|
||||
update("test.commit");
|
||||
}
|
||||
}
|
@ -0,0 +1,106 @@
|
||||
package cokr.xit.foundation.web;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.http.Cookie;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**쿠키 핸들링 유틸리티로 다음 기능을 지원한다.
|
||||
* <ul><li>쿠키값 {@link #get(String) 읽기}</li>
|
||||
* <li>쿠키값 {@link #set(String, String) 추가}</li>
|
||||
* <li>쿠키값 {@link #remove(String...) 삭제}</li>
|
||||
* </ul>
|
||||
* @author mjkhan
|
||||
*/
|
||||
public class Kookie {
|
||||
private HttpServletRequest hreq;
|
||||
private HttpServletResponse hresp;
|
||||
|
||||
/**HttpServletRequest를 설정한다.
|
||||
* @param hreq HttpServletRequest
|
||||
* @return 현재 Kookie
|
||||
*/
|
||||
public Kookie set(HttpServletRequest hreq) {
|
||||
this.hreq = hreq;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**HttpServletResponse를 설정한다.
|
||||
* @param hresp HttpServletResponse
|
||||
* @return 현재 Kookie
|
||||
*/
|
||||
public Kookie set(HttpServletResponse hresp) {
|
||||
this.hresp = hresp;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**지정하는 이름의 쿠키값을 반환한다.
|
||||
* <pre><code> String kookieValue = new Kookie()
|
||||
* .set(hreq)
|
||||
* .get("kookieName");</code></pre>
|
||||
* @param name 쿠키 이름
|
||||
* @return 쿠키값
|
||||
*/
|
||||
public String get(String name) {
|
||||
Cookie[] cookies = hreq.getCookies();
|
||||
if (cookies == null || cookies.length < 1) return "";
|
||||
|
||||
for (Cookie cookie: cookies) {
|
||||
if (cookie.getName().equals(name))
|
||||
return cookie.getValue();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
/**지정하는 이름의 쿠키값을 추가한다.
|
||||
* <pre><code> String kookieValue = new Kookie()
|
||||
* .set(hresp)
|
||||
* .set("kookieName", "kookieValue");</code></pre>
|
||||
* @param name 쿠키 이름
|
||||
* @param value 쿠키값
|
||||
* @return 현재 Kookie
|
||||
*/
|
||||
public Kookie set(String name, String value) {
|
||||
Cookie cookie = new Cookie(name, value);
|
||||
cookie.setMaxAge(Integer.MAX_VALUE);
|
||||
hresp.addCookie(cookie);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**지정하는 이름의 쿠키값을 삭제한다.<br />
|
||||
* 이름을 지정하지 않으면 모든 쿠키값을 삭제한다.
|
||||
* <pre><code> String kookieValue = new Kookie()
|
||||
* .set(hreq)
|
||||
* .set(hresp)
|
||||
* .remove("kookieName0", "kookieName1");</code></pre>
|
||||
* @param names 쿠키 이름
|
||||
* @return 현재 Kookie
|
||||
*/
|
||||
public Kookie remove(String... names) {
|
||||
Cookie[] cookies = hreq.getCookies();
|
||||
if (cookies == null || cookies.length < 1) return this;
|
||||
|
||||
List<String> cookieNames = List.of(names);
|
||||
|
||||
for (Cookie cookie: cookies) {
|
||||
if (!cookieNames.isEmpty()
|
||||
&& !cookieNames.contains(cookie.getName())) continue;
|
||||
|
||||
cookie.setValue("");
|
||||
cookie.setMaxAge(0);
|
||||
hresp.addCookie(cookie);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
/**현재 Kookie의 HttpServletRequest와 HttpServletResponse를 제거한다.<br />
|
||||
* 현재 Kookie를 객체의 필드로 지정하여 재사용할 때 사용한다.
|
||||
* @return 현재 Kookie
|
||||
*/
|
||||
public Kookie clear() {
|
||||
hreq = null;
|
||||
hresp = null;
|
||||
return this;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue