Search

'전체 글'에 해당되는 글 92건

  1. 2012.05.02 EL 중 list 데이터 존재 여부 확인
  2. 2012.05.02 No-Cache 설정
  3. 2012.05.02 JavaMail 사용시 501 Syntax error 해결방법

EL 중 list 데이터 존재 여부 확인

Java/JSP 2012. 5. 2. 15:01 Posted by 퓨어레드

<c:if test = "${empty listData}">

</c:if>

 

empty 연산자~

 

'Java > JSP' 카테고리의 다른 글

fmt:formatDate 쓰기  (0) 2012.11.02
JSTL 에서 List Size 구하기..  (0) 2012.05.03
No-Cache 설정  (0) 2012.05.02
EL  (0) 2012.04.18
JSTL (JSP Standard Tag Library) 1차 정리  (0) 2012.04.18

No-Cache 설정

Java/JSP 2012. 5. 2. 15:00 Posted by 퓨어레드

JSP에서 No-Cache 설정하는 방법

웹개발 하다보면 캐쉬된 페이지때문에 가끔 웹브라우저가 재시동하거나, 웹서버를 재시동하는 경우가 있었을 것이다. 그런 경우 캐쉬에서 불러오는 것이 아니라 항상 최신의 페이지를 보여주도록 하는 방법입니다. 데이터가 넘어가는 경우에만 '만료된 페이지입니다' 라는 메시지를 보여주게 되져

다음은 각각의 케이스별 No-Cache 설정방법입니다.


HTML인 경우
<META http-equiv="Expires" content="-1">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Cache-Control" content="No-Cache">

ASP인 경우
<%
Response.Expires = 0
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "Cache-Control","no-cache,must-revalidate"
%>

JSP인 경우
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1"))
response.setHeader("Cache-Control", "no-cache");
%>

PHP인 경우
<?
header("Pragma: no-cache");
header("Cache-Control: no-cache,must-revalidate");
?>



헌데 Struts Framework 사용시에는 아래와 같은 설정을 꼭 해주셔야 위의 내용이 적용이 된다고 하네요.(스트럿츠를 안써서리 잘 모르겠지만...)


processNoCache()는 struts-config.xml설정파일의 <controller>설정에서 nocache attribute가 true로 설정되어 있을 경우 호출된다.

만약 true라면 response객체의 header에 Pragma, Cache-Control, Expires가 추가되게 된다. 스트러츠 Framework에서는 struts-config.xml설정파일에 단지 true로 설정해주면 Cache가 적용되지 않는다.

즉 <controller nocache="true" />라는 설정을 struts-config.xml에 추가하면 끝.


 

'Java > JSP' 카테고리의 다른 글

fmt:formatDate 쓰기  (0) 2012.11.02
JSTL 에서 List Size 구하기..  (0) 2012.05.03
EL 중 list 데이터 존재 여부 확인  (0) 2012.05.02
EL  (0) 2012.04.18
JSTL (JSP Standard Tag Library) 1차 정리  (0) 2012.04.18

JavaMail 사용시 501 Syntax error 해결방법

Java/오류해결 2012. 5. 2. 15:00 Posted by 퓨어레드

모든 501 에러 처리 방법은 아니다. Exception 이 아래와 같이

 

javax.mail.MessagingException: 501 Syntax error

 

at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1363)
at com.sun.mail.smtp.SMTPTransport.helo(SMTPTransport.java:838)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:375)

 

 

떨어졌을때 해결방법

 

이 문제는 평소에 잘 되던 시스템에서 타 시스템으로 갔을 때 아주 간혹 생기는 문제 -_-;;;;;;;;; 인데;;

완전 초난감 했던 문제이다.. ㅠㅠ... 결국 외국 사이트를 뒤지고 뒤져도.. 원인을 찾을 수 없었는데 ㅠㅠ;;

그나마 검색 신공을 이용하여... SMTPTransport 에 해당 하사는 소스를 찾게 되었다..

 

문제의 부분을 보면

 

private void helo(String domain) throws MessagingException {
	if (domain != null)
		issueCommand("HELO " + domain, 250);
	else
		issueCommand("HELO", 250);
}

 

바로!! 838 라인 때문에 생기는 문제이다.. 다시 말해 SMTP 명령어를 HELO 만 쓰면 501 Syntax 에러가 발생하고

HELO HIHI 이렇게만 써줘도 에러가 안나는데.. 838번 라인을 타게 되는 이유는 domain 이 셋팅이 안되서 였다..!!! 두둥 -_-

이걸 알아내느라 안되는 영어로 외국사이트 까지 뒤진 내가 신기하다.. ㅋㅋ 암튼 해결방법은!!

 

이 문제가 발생했다면.. 가장 먼저 의심해볼것이 바로 컴퓨터 이름이 없거나.. 한글이 섞여있는지 확인한다 ㅠㅠ

 

그렇다.. ㅠㅠ 문제는 컴퓨터 이름이 한글이여서 생긴 문제인것이였다!!!!!!!!!! 두둥.. 코드엔 전혀 문제가 없었던... 것...............

완전.................... 개삽질............ -_- 암튼.. 컴퓨터 이름을 바꾸지 않아도 해결할수 있는 방법도 있다.

 

javamail 관련 property 설정시 mail.smtp.localhost 부분을 추가하는것이다.

 

Properties props = new Properties ();
props.put ("mail.smtp.host", smtpServerAddr);
props.put ("mail.smtp.localhost", smtpServerAddr);
props.put ("mail.debug", "true");
props.put ("mail.smtp.auth", "true");

session = Session.getInstance (props, null);

 

 

 

이러면 해결 된다......................................................................................................................................

사는게 다 그렇지뭐 -_- ㅠㅠ

 

'Java > 오류해결' 카테고리의 다른 글

JavaMail 로 Gmail 보내기  (0) 2016.05.03