2013년 6월 19일 수요일

[ Javascript ] iOS chrome window.open

iOS용 chrome 에서 window.open이 먹히질 않는다.

크롬의 버그란다. --;

http://stackoverflow.com/questions/11523379/jquery-window-openurl-on-ipad

참고해보려고 한다. 결과는 어찌 되려나.

2013년 6월 13일 목요일

[ Jsp ][ Javascript ] email 체크 정규식

이메일 체크

function CheckEmail(str) {

if (/^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@([0-9a-zA-Z_-]+)(\.[0-9a-zA-Z_-]+){1,2}$/
.test(str) == false) {
return false;
}

}

2013년 5월 28일 화요일

[ Jsp ][ Css ] inline-block explorer

explorer에서 inline-block이 먹지 않는다.
빨간 부분 추가하믄 됨
display: inline-block;
*display: inline;

2013년 5월 2일 목요일

[ Java ] ArrayList Sort 소트 정렬 샘플


Java ArrayList 소트 샘플

  ArrayList<String> nameList = new ArrayList<String>();

  nameList.add("AAA");
  nameList.add("BBB");
  nameList.add("CCC");
  Collections.sort(nameList);

2013년 4월 24일 수요일

[ Javascript ] 날짜 취득


날짜 취득 샘플

<SCRIPT language="JavaScript">
  DD = new Date();
  Year = DD.getYear();
  Month = DD.getMonth() + 1;
  Day = DD.getDate();
  document.write(Year,"년",Month,"월",Day,"일");
</SCRIPT>

[ Javascript ] 문자열 자르기



문자열 자르기 샘플

source = "data1, data2, data3";
result = source.split(",");

document.write(result [0] + result [1] + result [2]);

2013년 4월 23일 화요일

[ Jsp ][ Javascript ][ 날짜 ] 날짜 비교

단순 날짜 비교


var dt1 = new Date(2013, 8 - 1, 10);
var dt2 = new Date(2013, 7 - 1, 31);
if(dt1.getTime() > dt2.getTime()) {
    document.write("dt1<br />\r\n");
} else {
    document.write("dt2<br />\r\n");
}

[ Jsp ][ Javascript ][ 날짜 ] 특정 년 월 말일 구하기


특정 년 월의 말일 날짜 구하기


function getMonthEndDate(year, month) {
    var dt = new Date(year, month, 0);
    return dt.getDate();
}

[ Jsp ][ Javascript ][ 날짜 ] 윤년 체크

윤년 체크후 true false 반환


function checkLeapyear(year) {
    return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}

[ Jsp ][ Javascript ][ 날짜 ] 오늘 날짜 표시

오늘 날짜 단순 표시 하기

var date = new Date();

document.write(date.getFullYear()  + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + "<br />\r\n");

2013년 4월 19일 금요일

[ Java ] Linux Graphic setFont 한글 깨짐

Linux랑 Window가 지원하는 폰트가 틀리고,

그중에서 한글을 지원하는게 틀리다.

한글 지원하는 폰트 찾기.

아래소스로 찾은 폰트를 가지고 쓰면 깨지지 않을 것.



       ArrayList fontList = new ArrayList();
       for(int i = 0; i < fonts.length; i++){
           if(fonts[i].canDisplay('한')){
               fontList.add(fonts[i]);
           }
       }

[ css ] div 수직 스크롤

div 수직 스크롤 생성

빨간 부분

<div style="width:98%; height:200px;border:1px solid; overflow-y:scroll;">

2013년 4월 18일 목요일

[ Jsp ][ 용어 ] mvc 모델


mvc 모델이란 소프트웨어 설계 모델의 하나로, 처리의 핵심을 담당하는 "Model"
표시 · 출력을 담당하는 "View"를 입력 받아
그 내용에 따라 View와 Model을 제어하는 ​​"Controller"의
3 요소의 조합 에서 시스템을 구현하는 방식이다.

메인 처리는 Model 구현하고 Model은 화면 출력 등은 실시하지 않는다.
처리 결과는 View에 전달되고 화면이 열린다.
사용자 입력은 Controller가 받고 어떤 처리가 필요한 경우 Model에 의뢰 해 출력이 필요한 경우 View에 의뢰한다.

명확하게 기능별로 분리하여 개발 작업의 분업이 용이하고
또한 서로 사양 변경의 영향을 받기 어렵다.

원래 Smalltalk에서 그래픽 인터페이스 디자인에 사용 된 개념으로,
최근에는 J2EE 등 엔터프라이즈 시스템의 개발 등에 응용되는 방법론이다.

2013년 4월 16일 화요일

[ Java ] Calender 날짜 비교


  
중략
날짜 비교 before , after , equals

Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.set(2013, 4, 1);
c2.set(2013, 4, 1);

if (c1.before(c2))
{
 System.out.print(" is before ");
}
if (c1.after(c2))
{
 System.out.print(" is after ");
}
if (c1.equals(c2))
{
 System.out.print("same ");
}

2013년 4월 12일 금요일

[ Jsp ][ javascript ] input 전체 체크


function onCheck() {
//전체 체크
var frm = document.forms[0];
var length = frm.elements.length;

for (var i = 0; i < length; i++) {
if (frm.elements[i].value == "") {
alert("하나도 빠짐없이~!");
frm.elements[i].focus();
return false;
}
}
document.forms[0].submit();
}

2013년 4월 11일 목요일

[ Java ] split . 에러

String test="aaa.bbb.ccc";

test.split(".");

에러난다.

아래처럼 하믄 된다.
test.split("\\.");

2013년 4월 10일 수요일

[ Java ] Calendar format String




Calendar startDay = Calendar.getInstance();

SimpleDateFormat sdf
    = new SimpleDateFormat ("yyyy.MM.dd");

String start = sdf.format(startDay.getTime());

2013년 4월 3일 수요일

[ Servlet ][ eclipse ] Wrapper cannot find servlet ....오류 해결

eclipse 에서
.classpath파일을 연다

output이라 되있는 부분을 아래와 같이 변경
<classpathentry kind="output" path="WebContent/WEB-INF/classes"/>

2013년 3월 26일 화요일

[ Jsp ][ Javascript ] 자바스크립트 이메일 체크


이메일 유효성 검사

function CheckEmail(str) {
                   if (/^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.)+([0-9a-zA-Z-]+)(\.0-9a-zA-Z-)*$/
.test(str) == false) {
return false;
}

}

[ Jsp ][ Javascript ] input 대문자로 바꾸기

input text 대문자로 바꾸기

<script type="text/javascript">
    function onChange() {

               work = document.getElementById("urlid").value;
               document.getElementById("urlid").value=work.toUpperCase();
     }

[Jsp][Javascript] input 내용(문자열) Div 에 넣기/표시하기


input박스 입력내용을 해당영역 에 표시하는 방법

<script type="text/javascript">

    function onChange() {
     var text = document.getElementById("urlid").value;
     document.getElementById("urlid_confirm").innerHTML=text;
    }
 </script>


<input type="text" value="" maxlength="8" id="urlid" onkeyup="onChange()"/>
<div id="urlid_confirm" style="display:inline">
(해당영역)
</div>.test.com

2013년 3월 15일 금요일

[ Jsp ] Cannot return from outside a function or method. 에러 메세지

<form method="post" name="fmlot" onkeydown="return captureReturnKey(event);">

이렇게 했더만 eclipse에서 뻘겋게 에러가 뜬다.
Cannot return from outside a function or method. 

아무래도 eclipse의 버그란듯 한데, 내 영어 수준이 갓난애기 수준이니....
https://bugs.eclipse.org/bugs/show_bug.cgi?id=353209

[ Jsp ] input text enter 엔터 키

출처:http://www.okjsp.pe.kr/seq/132953

input type=text 가 하나일 경우에 엔터키를 누르면 submit()이 되버린다.

출처에서 따온대로 아래와 같이 하니 문제 없다.

< script language="javascript"> 

//ENTER 안먹게 하는것 
function captureReturnKey(e) { 
if(e.keyCode==13 && e.srcElement.type != 'textarea') 
return false; 


< /script> 

< form name="F" method="post" onkeydown="return captureReturnKey(event)"> 

< input type="text" name="test"> 

< /form>

2013년 3월 6일 수요일

[ Jsp ][ Java ] 메일 전송


메일 보내기

package Common;

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

import org.apache.log4j.Logger;

public class chkMailSender{
static Logger drLog = Logger.getLogger("dr");
// Member Function
        // 제목, 본문
public void sendMail(String title, String body){
String to = "to@xxxx.com";
String from = "from@xxxx.com";
String host = "mail.xxxx.com";
String id = "id@xxxx.com";
String pwd = "password";

Properties props = new Properties();
props.put("mail.smtp.host", host);

Session sess = Session.getDefaultInstance(props, null);

try {
Message msg = new MimeMessage(sess);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(title);
msg.setSentDate(new Date());
msg.setContent(body, "text/html; charset=UTF-8");

Transport transport = sess.getTransport("smtp");
transport.connect(host, id, pwd);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();

} catch (MessagingException mex) {
drLog.equals(mex.getMessage());
}
}
}

2013년 3월 4일 월요일

[ Jsp ][ Java ] 이번 달 마지막 날짜 오늘 날짜 비교


오늘이 이번 달 마지막 날이면 //해야할 처리

GregorianCalendar today = new GregorianCalendar ( );
int maxday = today.getActualMaximum ( ( today.DAY_OF_MONTH ) );
drLog.info(maxday);

int todayDay = today.get(today.DAY_OF_MONTH);
drLog.info(todayDay);

if(maxday == todayDay){
//해야할 처리
}

[ Jsp ][ css ] div 가운데

DIV 넓이를 80%줄 경우
절대 위치로 하고, left 10%

<div style="position:absolute; left:10%; width:80%;border: 1px solid; align:center;">

[ Jsp ] 폴더 내 폴더, 파일 목록 표시


특정 디렉토리 내의 디렉토리 파일 표시

<%
request.setCharacterEncoding("UTF-8");
String dir = request.getParameter("DIR");//타겟 디렉토리
java.io.File f = new java.io.File(dir);
if (f.exists()) {
String[] filelist = f.list();
for (int i = 0; i < filelist.length; i++) {
java.io.File subF = new java.io.File(dir + "/" + filelist[i]);
                        //디렉토리인경우 (이페이지 다시 호출)
if (subF .isDirectory()) {
String subdir = dir + "/" + subF .getName();
out.println("<a href='chkMain.jsp?DIR=" + subdir + "'>"
+ subF .getName() + "</a><BR>");
}
                        //파일인경우 (파일뷰처리 서블렛으로 )
if (subF .isFile()){
String file = dir + "/" + subF .getName();
out.println("<a href='chk-charge?FILE=" + file + "'>"
+ subF .getName() + "</a><BR>");
}
}
}
%>

2013년 2월 28일 목요일

[ Jsp ][ Java ] 객체 (클래스) 파일 읽기 쓰기



객체 쓰기

쓸객체는 implements Serializable를 해야한다
예) public class chkChargeList implements Serializable   {};

chkChargeList list = new chkChargeList();
FileOutputStream outFile = new FileOutputStream(filename);
ObjectOutputStream outStream = new ObjectOutputStream( outFile );
outStream.writeObject (list);


객체 읽기
FileInputStream inFile = new FileInputStream (filename);
ObjectInputStream inStream = new ObjectInputStream (inFile);
chkChargeList test = (chkChargeList) inStream.readObject();
system.out.println(test.getBasicCharge());

2013년 2월 27일 수요일

[ Jsp ] 숫자 소수점 2자리


소수점 2자리만 표시하기

<%@ page import="java.text.*" %>

<% DecimalFormat df = new DecimalFormat("0.##");
double us = 3234.233
double mx = 5123123.223
 String using = df.format(us);
String max = df.format(mx);
out.print(using + "GB / " + max + "GB");
%>

[ Jsp ][ Java ] static final long 선언


아래와 같이 하니깐 eclipse에서 에러 메세지가 난다.
private static final long sizeUnit = 53687091200;

뒤에 L을 붙여주면 된다
private static final long sizeUnit = 53687091200L;

[ Jsp ][ Css ] 텍스트 90도 회전 CSS

텍스트 90도 회전 CSS


<div style='text-align:center;  color:rgb(204, 0, 0); opacity:1; font-size:35px; -webkit-transform:rotate(90deg);'>Text</div>

Text


[ jsp ][ 커스텀 액션 ] c : else


<c:if>를 사용하다보면
else를 쓰고 싶은데
없나보다
아래와 같이 하면 된다

<c:choose>
  <c:when test="${TEST=='1'}">
//TEST값이 1일때
       </c:when>
   <c:otherwise>
        //TEST값이 1이 아닐때
</c:otherwise>
</c:choose>

2013년 2월 22일 금요일

[ jsp ] request 파라미터 그대로 전달 ( input hidden 에 전부 넣기 )


a->b->c
a에서 넘어온 파라미터를 그대로 c 로 넘기고 싶었다.
넘어온걸 전부 input hidden 에 세팅

<%
request.setCharacterEncoding("UTF-8");
Enumeration enu = request.getParameterNames();
String strName;

while (enu .hasMoreElements()) {
 strName= (String) enu .nextElement();
 out.print("<input type='hidden' name='"+strName+"' value='" + request.getParameter(strName)+"'>");
}
%>

[ jsp ] request 전체 파라미터 가져오기


전체 파라미터 이름, 값 출력


<%@ page import="java.util.*"%>
<%
Enumeration enu = request.getParameterNames();
String strName;

while (enu .hasMoreElements()) {
strName= (String) enu .nextElement();
out.print(strName + ":");
  out.print(request.getParameter(strName)+"<BR>");
}
%>

[ jsp ][ 자바스크립트 ] 폼 입력 내용 체크

입력 내용에 빈 칸이 있나 없나 체크 하기



function onCheck(){
if (typeof (form) == "undefined") {
form = document.forms[0];
}
for (var i = 0; i < form.length; i++) {
val = form.elements[i].value;
if(val==""){
form.elements[i].focus();
return false;
}
}
document.form1.submit();
}

2013년 2월 20일 수요일

[ jsp ] 이미지 cache 문제 ( 이미지 갱신 문제 )

아이패드에서 이미지를 업로드 하니
이미지캐쉬가 남아서 이미지가 갱신이 안된다.
(이미지 이름을 같은 걸 써서)

1.서블릿쪽에서 랜덤 문자 넘겨준다

2.JSP파일 이미지링크뒤에 빨간부분 추가
   <img src ="1_1.jpg?${RANDOM_STRING}">

2013년 2월 19일 화요일

[ jsp ][ jQuery ] frame onload 스크립트


프레임 이름이 left일 경우
jQuery를 사용하면

$(window.parent.left.document).ready(function() {
    alert("left");
});

[ jsp ][ servlet ] getServletContext().getInitParameter() null

null 일경우

request.getSession().getServletContext().getInitParameter("PARAM");

원인과 이유는?
공부하자.

2013년 2월 15일 금요일

[ jsp ][ servlet ] ipad 업로드 파일 회전

아이패드에서 찍은 사진을 업로드 받은뒤 웹에 뿌려주면
아이패드에서 찍은 방향에 따라 사진이 회전되서 보인다.
아이패드에서 볼때는 제대로 보이는데..
그래서 어떤방향으로 찍더라도 웹에서도 윗방향이 정확히 보이게 하기위해
꼼수라해야할지 모르나 아래와 같은 방법으로 해결했다.

1.하기 사이트에서 라이브러리를 받아서 lib에 설치
http://code.google.com/p/metadata-extractor/downloads/detail?name=metadata-extractor-2.6.4.zip

2.화면에 뿌려주기전 서블렛에서 하기 함수에 파일을 넘겨주고
  (jpeg의 메타데이터를 뽑아서 orientation 부분을 체크)

private String getOriFromImage(File image) {
String retStr = "";

try {

Metadata metadata = JpegMetadataReader.readMetadata(image);

// iterate through metadata directories

Iterable<Directory> directories = metadata.getDirectories();
for (Directory directory : metadata.getDirectories()) {
for (Tag tag : directory.getTags()) {
String strTagName = tag.getTagName();
if (strTagName.equals("Orientation")) {
String strDesc = tag.getDescription();
if (strDesc.contains("90")) {
retStr="90";
}else if(strDesc.contains("180")){
retStr="180";
}else if(strDesc.contains("270")){
retStr="270";
}
}
}
}
} catch (Exception e) {
                  //각자 알아서 처리
}
return retStr;
}
 넘겨받은 값을 request에 설정

3.넘겨받은 값을 이미지에 class 대응


<img src="이미지 패스"
id="IMG_${cnt}_${chkcnt}" width=10px class="rot${RESULT_LIST.imgClass[chkcnt-1][cnt-1]}">

4. CSS설정 파일은 하기 참조
http://soatojsp.blogspot.jp/2013/02/jsp-css.html

5. 이렇게 하면, ipad에서도 다시 한번 돌아간다는 문제 점이 있는데 그건 서블릿단에서 아이패드가 아닌 경우에만
클래스명을 사용하도록 했다.

[ jsp ][ java ] 폴더 사이즈 계산


파일패스 넣어주면 폴더 사이즈를 돌려준다.

package Common;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.channels.FileChannel;

public class chkFolderSize{
// Member Variables
private long dFolderSize;
private long NG=-1;
// Constructor
public chkFolderSize() {
dFolderSize = 0;
}
//calculate folder size
private void calcSize(File tFolder){
File[] fList = tFolder.listFiles();
for(int i=0; i < fList.length; i++){
if(fList[i].isFile()){
dFolderSize += fList[i].length();
}else{
calcSize(fList[i]);
}
}
}
// return folder size
public long getFolderSize(String fPath){
long retVal;
File tFolder = new File(fPath);
if(tFolder.exists()&&tFolder.isDirectory()){
calcSize(tFolder);
retVal = dFolderSize;
}else{
retVal = NG;
}
return retVal;
}

}

2013년 2월 14일 목요일

[ Jsp ][ jQuery ] 아이폰, 안드로이드폰 탐지 페이지 분기 시키기

<script type="text/javascript">
$(document).ready(function(){
if($(window).width() < 480){
window.location = "http://mobile.yoursite.com&quot;
}
});
</script>

참고사이트
http://css-tricks.com/forums/discussion/13960/detect-mobile-and-redirect/p1

[ jsp ][ java ] 이미지 회전


90도 회전 시키기 샘플, 화질이 조금 떨어 지는 듯

BufferedImage oldImage = ImageIO.read(new FileInputStream(oldFile));

BufferedImage newImage = new                                   BufferedImage(oldImage.getHeight(),oldImage.getWidth(), oldImage.getType());

Graphics2D graphics = (Graphics2D) newImage.getGraphics();

graphics.rotate(Math.toRadians(90), newImage.getWidth() / 2, newImage.getHeight() / 2);

graphics.translate((newImage.getWidth() - oldImage.getWidth()) / 2, (newImage.getHeight() - oldImage.getHeight()) / 2);

graphics.drawImage(oldImage, 0, 0, oldImage.getWidth(), oldImage.getHeight(), null);

ImageIO.write(newImage, "JPG", new FileOutputStream(newFile));

[ Jsp ] 이미지 회전 css


img.rot{
-webkit-transform: rotate(0deg);
     -moz-transform: rotate(0deg);
     -o-transform: rotate(0deg);
     transform: rotate(00deg);
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);
}
img.rot90{
-webkit-transform: rotate(90deg);
     -moz-transform: rotate(90deg);
     -o-transform: rotate(90deg);
     transform: rotate(90deg);
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}
img.rot180{
-webkit-transform: rotate(180deg);
     -moz-transform: rotate(180deg);
     -o-transform: rotate(180deg);
     transform: rotate(180deg);
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}
img.rot270{
-webkit-transform: rotate(270deg);
     -moz-transform: rotate(270deg);
     -o-transform: rotate(270deg);
     transform: rotate(270deg);
     filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

[ Jsp ] 톰캣 기동시 에러 메세지 트러블슈팅

eclipse tomcat 구동시에 아래 에러 떴다

The web application [/ProjectName] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.

구글링해보니 무시하란다.톰캣6.0.24버전이상이라면.

2013년 2월 13일 수요일

[ Jsp ][ jQuery ] 이미지 넓이 조정 / 이미지 표 넓이 맞추기



표안에 이미지를 넣었는데
유독 explorer에서만 이미지가 표자체 넓이를 넓혀서

jQuery부분
<script src="COMMON/jQuery.js" type="text/javascript"></script>
<SCRIPT TYPE="TEXT/JAVASCRIPT">
$(document).ready(function() {
for(var i = 1; i<10; i++){
for ( var j = 1; j < 10; j++) {
var tdWidth=0;
var imgWidth=0;
var id = "TD_" + i+"_"+j;
tdWidth = $("#" + id).width();
var imgid = "IMG_" + i+"_"+j;
imgWidth = $("#" + imgid).width();
if( tdWidth > imgWidth ){
$("#" + imgid).width(tdWidth);
}
}
}
});
<script>

이미지 부분 width를 10px주고 페이지 로드시에 넓이 조정하게 했다.

<img src="/SAVEIMG/<%=session.getAttribute("APPNAME").toString()%>/${LOT_IMAGE}/${cnt}_${chkcnt}.${RESULT_LIST.chk[chkcnt-1][cnt-1]}"
id="IMG_${cnt}_${chkcnt}" width=10px>


2013년 2월 12일 화요일

[Jsp] Jsp 기본 - 구성요소


JSP 프로그램을 구성하는 각 구성 요소의 개요.

지시문 <% @ ~ %>
JSP 프로그램의 특성을 정의합니다. 인코딩, Content-type 클래스 가져 오기, 태그 라이브러리의 지정, 외부 파일 포함 지정 등을 실시합니다.

선언 : <%! ~ %>
JSP 프로그램에서 사용하는 변수, 메소드를 선언합니다.

스크립틀릿 : <% %>
JSP 태그만으로는 설명 할 수없는 프로그램에 대해이 스크립트 렛에서 자유로운 Java 코드를 작성합니다.

식 : <% = ~ %>
변수, 산술 식, 반환하는 메서드 등을 작성하고 실행 결과를 출력합니다.

액션 : <jsp:~ />
JSP는 JSP 프로그램에서 특정 동작을 태그가 어떤 정의되어 있습니다. 요청을 전송하는 <jsp:forward> 태그, JavaBeans를 사용하는 <jsp:useBean> 태그 등이 있습니다.

코멘트 : <% - ~ - %>
JSP 프로그램의 주석을합니다. HTML의 의견과 Java 의견을 중첩 할 수 있지만 같은 JSP의 코멘트를 중첩 할 수 없습니다.

2013년 2월 8일 금요일

[Jsp] Jsp 기본 - Jsp란


Java Server Page의 약자.

다른 비슷한 기술로 ASP, PHP 나.

외관은 스크립트 언어처럼 보이지만, 실제로는 Java Servlet의

HttpServlet의 서브 클래스로 동작한다.

JSP가 페이지를 처음 방문하면

JSP 소스 코드를 서블릿 컨테이너가 Java 소스 코드로 변환하고

컴파일하고 실행된다.

2013년 2월 7일 목요일

[Jsp][자바스크립트] 일정 시간 (5초) 후 페이지 이동


<%@page contentType="text/html; charset=UTF-8"%>
<html>
<!--  STYLE FILE INCLUDE -->
<script language="JavaScript">
function next()
{location = "index.jsp";}
</script>
<head>
<title>세션에러/title>
</head>
<body onLoad="setTimeout('next()', 5000)">
<h1>로그인 세션가 끊겼슴다</h1>
5초후 이동합니다.
</body>
</html>

2013년 2월 6일 수요일

[Jsp][servlet] 서블렛 필터 만들기

필터 만들기
예> 페이지 이동시 세션 검사

package Common;

public class chkSessionCheckFilter implements Filter {
public void init(FilterConfig config) throws ServletException {

}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {

HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;

HttpSession session = httpRequest.getSession();
                
                //세션 검사
chain.doFilter(request, response);

}

public void destroy() {

}
}

web.xml에 다음과 같이 추가하면 chkTestRunListServlet가기전에 요 필터를 한번 걸친다


<filter>
<filter-name>session-checker</filter-name>
<filter-class>Common.chkSessionCheckFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>session-checker</filter-name>
<servlet-name>chkTestRunListServlet</servlet-name>
        </filter-mapping>





[Jsp] 세션 request 로 설정 사용


<%
         request.setAttribute("TASK", session.getAttribute("TASK").toString());
%>

사용시
<c:if test="${requestScope.TASK=='RUN' }">