package com.util;
import javax.servlet.jsp.JspWriter;
//jspWriter 클래스 임포트. 기본 내장 객체인 out이 JspWriter 타입.
public class JsFunction {
public static void alertLocation(String msg, String url, JspWriter out) {
//alertLocation()은 알림창으로 메시지를 보여준 후, 명시한 URL로 이동하는 메서드.
//매개변수를 3개 받는데, 각각의 의미가 다르다.
//String msg : 알림창에 띄울 메세지, String url : 알림창을 닫은 후 이동할 페이지의 url, JspWriter out : 자바 스크립트 코드를 삽입할 출력 스트림(jsp의 out내장 객체 )
try {
String script = "" //삽입할 자바스크립트 코드
+ "<stript>"
+ " aleft('" + msg + "');"
+ "location.href='" + url + "';"
+ "</script>";
out.println(script); //자바스크립트 코드를 out 내장 객체로 출력(삽입)
} catch (Exception e) {
}
}
//메시지 알림창을 띄운 후 이전 페이지로 돌아갑니다.
public static void alertBack(String msg, JspWriter out){
try {
String script = ""
+ "<script>"
+ " alert ('" + msg + "');"
+ " history.back()"
+ "</script>";
out.println(script);
}
catch (Exception e){
}
}
}
알림창으로 메시지를 보여준 후, 명시한 URL로 이동하는 메서드.
매개변수를 3개 받는데, 각각의 의미가 다르다.
사용하는 쿠키가 많아지면 조건문은 복잡해질 수 밖에 없다. 그래서 쿠키를 편리하게 사용할 수 있게 도와주는 클래스를 작성해보자.
package com.util;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieManager {
//쿠키 관리하기 위함.
//명시한 이름, 값, 유지기간 조건으로 새로운 쿠키를 생성합니다.
public static void makeCookie(HttpServletResponse response, String cName, String cValue, int cTime){
Cookie cookie = new Cookie(cName, cValue); //쿠키 생성
cookie.setPath("/"); //경로 설정
cookie.setMaxAge(cTime); //유지기간 설정
response.addCookie(cookie); //응답 객체에 추가
}
//명시한 이름의 쿠키를 찾아 그 값을 반환합니다.
public static String readCookie(HttpServletRequest request, String cName){
String cookieValue = ""; //반환 값
Cookie[] cookies = request.getCookies();
if(cookies != null){
for(Cookie c : cookies){
String cookieName = c.getName();
if(cookieName.equals(cName)){
cookieValue = c.getValue(); //반환 값 갱신
}
}
}
return cookieValue;
}
//명시한 이름의 쿠키를 삭제합니다.
public static void deleteCookie(HttpServletResponse response, String cName){
makeCookie(response, cName, "", 0);
}
}