001 package com.rain;
002
003 import java.net.*;
004 import java.util.*;
005 import javax.servlet.http.*;
006 import javax.servlet.ServletContext;
007 import java.lang.*;
008
009 /**
010 * Request ¹× Application , ȸ¿øÁ¤º¸¸¦ °ü¸®
011 * (ÇØ´ç °´Ã¼´Â DOCUMENT_ROOT/conf/siteconf_java.ini ÆÄÀÏÀ» ÇÊ¿ä·Î ÇÔ)
012 * ÇØ´ç °´Ã¼ÀÇ »ý¼º½Ã rainUtil.request ¿¡ ÇØ´ç °´Ã¼°¡ ÀûÀçµÇ¸ç rainUtil.application ¿¡ ÁÖ¾îÁø Application Á¤º¸°¡ ÀûÀçµÊ
013 * rainUtil °´Ã¼¸¦ »ç¿ëÀü¿¡ ÇÊÈ÷ rainRequest ¸¦ ¸ÕÀú È£ÃâÇØ ÁÖ¾î¾ß ÇÔ
014 * @version 1.0
015 * @author http://cafen.net (outmind@cafen.net)
016 */
017
018 public class rainRequest{
019
020 /**
021 * HttpServletRequest request °´Ã¼
022 */
023 public HttpServletRequest request;
024
025 /**
026 * ServletContext application °´Ã¼
027 */
028 public ServletContext application;
029
030 /**
031 * ȸ¿ø¾ÆÀ̵ð
032 */
033 private String user_id = "";
034
035 /**
036 * ȸ¿ø¸í
037 */
038 private String user_nm = "";
039
040 /**
041 * ȸ¿ø¸ÞÀÏÁÖ¼Ò
042 */
043 private String user_email = "";
044
045 /**
046 * »ý¼ºÀÚ
047 * @param req HttpServletRequest
048 * @param application ServletContext
049 */
050 public rainRequest(HttpServletRequest req, ServletContext application) {
051 this.request = req;
052 this.application = application;
053 rainUtil.base_pos = this.realPath("/");
054 rainUtil.site_conf = new rainProperties("siteconf_java");
055 rainUtil.request = this;
056 }
057
058 /**
059 * request ¿¡¼ °ª °¡Á®¿À±â
060 * @param name °¡Á®¿ÃŰ
061 * @param def ÇØ´ç ۰ªÀÌ null Àΰæ¿ì def °ªÀ» ¹ÝȯÇÔ
062 * @return ÇØ´ç ۰ª
063 */
064 public String get(String name, String def) {
065 String val = this.a2k(this.request.getParameter(name));
066 return val.equals("")?def:val;
067 }
068
069 /**
070 * request ¿¡¼ °ª °¡Á®¿À±â
071 * @param name °¡Á®¿ÃŰ
072 * @return ÇØ´ç ۰ª
073 */
074 public String get(String name) {
075 return this.get(name,"");
076 }
077
078 /**
079 * request ¿¡¼ ۰ª¿¡ ¹é½½·¹½¬¸¦ Ãß°¡Çؼ °¡Á®¿À±â
080 * @param name °¡Á®¿ÃŰ
081 * @return ÇØ´ç ۰ª
082 */
083 public String getS(String name) {
084 return this.get(name).replaceAll("'","\\'");
085 }
086
087 /**
088 * request ¿¡¼ ¼Ó¼º°ª °¡Á®¿À±â
089 * @param name °¡Á®¿ÃŰ
090 * @return ÇØ´ç ۰ª
091 */
092 public String getAttribute(String name) {
093 if (this.request.getAttribute(name) == null)
094 return "";
095 else
096 return this.request.getAttribute(name).toString();
097 }
098
099 /**
100 * ASC ¹®ÀÚ¸¦ EUC-KR ·Î º¯È¯Çϱâ
101 * @param str ´ë»ó ¹®ÀÚ
102 * @return º¯È¯µÈ ¹®ÀÚ
103 */
104 public String a2k(String str) {
105 String rtn = null;
106 try {
107 rtn = (str==null)?"":new String(str.getBytes("8859_1"),"euc-kr");
108 } catch (java.io.UnsupportedEncodingException e) {}
109 return rtn;
110 }
111
112 /**
113 * EUC-KR¹®ÀÚ¸¦ ASC·Î º¯È¯Çϱâ
114 * @param str ´ë»ó ¹®ÀÚ
115 * @return º¯È¯µÈ ¹®ÀÚ
116 */
117 public String k2a(String str) {
118 String rtn = null;
119 try {
120 rtn = (str==null)?"":new String(str.getBytes("euc-kr"),"8859_1");
121 } catch (java.io.UnsupportedEncodingException e) {}
122 return rtn;
123 }
124
125 /**
126 * request ¿¡¼ °ªÀ» ¼ýÀÚ·Î °¡Á®¿À±â
127 * @param name °¡Á®¿ÃŰ
128 * @return ÇØ´ç ۰ª
129 */
130 public int getInt(String name) {
131 try {
132 return Integer.parseInt(this.get(name));
133 } catch (Exception e) {
134 return 0;
135 }
136 }
137
138 /**
139 * request ¿¡¼ IP ÁÖ¼Ò °¡Á®¿À±â
140 * @return Á¢±ÙÀÚÀÇ IP ÁÖ¼Ò
141 */
142 public String getIP() {
143 return this.request.getRemoteAddr();
144 }
145
146 /**
147 * ÇöÀç Unixtimestamp °¡Á®¿À±â
148 * @return unixtimestamp
149 */
150 public int getNow() {
151 Date today = new Date();
152 return (int) Math.floor(today.getTime()/1000);
153 }
154
155 /**
156 * ȸ¿ø Á¤º¸ ¼³Á¤
157 * @param user_id ȸ¿ø¾ÆÀ̵ð
158 * @param user_nm ȸ¿øÀ̸§
159 * @param user_email ȸ¿ø¸ÞÀÏÁÖ¼Ò
160 */
161 public void setUser(String user_id, String user_nm, String user_email) {
162 this.setID(user_id);
163 this.setName(user_nm);
164 this.setEmail(user_email);
165 }
166
167 /**
168 * ȸ¿ø ¾ÆÀ̵ð¼³Á¤
169 * @param user_id ȸ¿ø¾ÆÀ̵ð
170 */
171 public void setID(String user_id) {
172 this.user_id = user_id;
173 }
174
175 /**
176 * ȸ¿ø À̸§ ¼³Á¤
177 * @param user_nm ȸ¿øÀ̸§
178 */
179 public void setName(String user_nm) {
180 this.user_nm = user_nm;
181 }
182
183 /**
184 * ȸ¿ø ¸ÞÀÏÁÖ¼Ò ¼³Á¤
185 * @param user_email ȸ¿ø¸ÞÀÏÁÖ¼Ò
186 */
187 public void setEmail(String user_email) {
188 this.user_email = user_email;
189 }
190
191 /**
192 * ȸ¿ø ¾ÆÀ̵𠰡Á®¿À±â
193 * @return ȸ¿ø¾ÆÀ̵ð
194 */
195 public String getID() {
196 return this.user_id;
197 }
198
199 /**
200 * ȸ¿øÀ̸§ °¡Á®¿À±â
201 * @return ȸ¿ø¸í
202 */
203 public String getName() {
204 return this.getName("");
205 }
206
207 /**
208 * ȸ¿øÀ̸§ °¡Á®¿À±â
209 * @param user_nm ȸ¿ø¸í(±â·ÏµÈ ȸ¿ø¸íÀÌ ¾ø´Â °æ¿ì ÁÖ¾îÁø À̸§ÀÌ ´ë½Å ¹Ýȯ)
210 * @return ȸ¿ø¸í
211 */
212 public String getName(String user_nm) {
213 return (this.user_nm.equals(""))?user_nm:this.user_nm;
214 }
215
216 /**
217 * ȸ¿ø¸ÞÀÏÁÖ¼Ò °¡Á®¿À±â
218 * @return ȸ¿ø¸ÞÀÏÁÖ¼Ò
219 */
220 public String getEmail() {
221 return this.getEmail("");
222 }
223
224 /**
225 * ȸ¿ø¸ÞÀÏÁÖ¼Ò °¡Á®¿À±â
226 * @param user_email ȸ¿ø¸ÞÀÏÁÖ¼Ò(±â·ÏµÈ ȸ¿ø¸ÞÀÏÁÖ¼Ò°¡ ¾ø´Â °æ¿ì ÁÖ¾îÁø ¸ÞÀÏÁÖ¼Ò°¡ ´ë½Å ¹Ýȯ)
227 * @return ȸ¿ø¸ÞÀÏÁÖ¼Ò
228 */
229 public String getEmail(String user_email) {
230 return (this.user_email.equals(""))?user_email:this.user_email;
231 }
232
233 /**
234 * ÇöÀçÀÛ¾÷ÁßÀÎ ½ºÅ©¸³Å͸íÀ» ¹Ýȯ
235 * @return ½ºÅ©¸³Å͸í
236 */
237 public String getSelf() {
238 return this.request.getRequestURI();
239 }
240
241 /**
242 * ÇöÀçÀÛ¾÷ÁßÀÎ ½ºÅ©¸³ÅÍÀÇ Äõ¸®¸¦ ¹Ýȯ
243 * @return ½ºÅ©¸³ÅÍ Äõ¸®
244 */
245 public String getQuery() {
246 return (this.request.getQueryString() == null)?"":this.request.getQueryString();
247 }
248
249 /**
250 * ÁÖ¾îÁø °æ·ÎÀÇ Àý´ë °æ·Î¸¦ ¹Ýȯ
251 * @param str DOCUMENT ROOT ·Î ºÎÅÍÀÇ »ó´ë °æ·Î
252 * @return Àý´ë°æ·Î
253 */
254 public String realPath(String str) {
255 return this.application.getRealPath(str);
256 }
257
258 /**
259 * ÇöÀç ÆÄÀÏ °æ·ÎÀÇ Àý´ë Æúµå¸í °¡Á®¿À±â
260 * @return ÇöÀç ÆÄÀÏ °æ·ÎÀÇ Àý´ë Æúµå¸í
261 */
262 public String realPath() {
263 return this.realPath("./");
264 }
265
266 /**
267 * ÇöÀç ÀÛ¾÷ÁßÀÎ ½ºÅ©¸³ÅÍÀÇ ÆÄÀÏ URL °ú Äõ¸®¸¦ °¡Á®¿À±â
268 * @return ÆÄÀÏURL +?+ Äõ¸®
269 */
270 public String getURL() {
271 return this.getSelf() + "?" + this.getQuery();
272 }
273
274 }