본문 바로가기

Server Oriented/Java & JSP

(76)
MMS 본문 링크 타고 들어온 JSP 에서 프로세스를 중단하고자 할 때.. .jsp 가 호출되었을 때,더이상 진행하지 않게 하려면 아래와 같이 한다. 1. return; 그런데, return; 이후에도 코드들이 있으면 에러가 발생한다.이런 경우 아래와 같이 한다. 2. if(1==1) return;if(true) return; 이라고 하면 오류가 발생하므로,if(조건식) return; 이 되도록 하는 것이다. MMS 로 발생된 본문 링크를 타고 들어올 때,상기 2와 같이 하면 return; 이후의 문장도 실행이 된다.실행되면 안 되는데 실행이 되니까 미치고 환장할 노릇이지만 어쩔 수 없이 아래와 같이 한다. 3. if(조건) throw new Exception(); 물론 상기 3과 같이 하려면, 아래와 같이 세팅을 한다.try{ ... if(조건식) throw new Excep..
프로시저 call 시 어떤 Statement 를 사용해야 할까..? JDBC 버전에 따라서는,PreparedStatement 로 OUT 파라미터가 없는 Procedure 를 호출했을 때,return 값이 항상 0 인 경우가 발생하므로..Exception 이 발생하지 않는 경우에는 성공한 것으로 간주.Clob 을 DB 에 넣을 때, select for update 를 사용할 때 리턴값을 체크하지 않는 것과 유사.-------------------------------------------------------------------------------------------------- 프로시저를 call 할 때 항상 CallableStatement 를 사용해 왔었는데..오늘 우연찮게 PreparedStatement 를 사용해도 정상 작동.. ㅠ.그러면, Statement ..
크롬에서 https 를 실행해도 안전함이 안 뜰 때.. '사이트 정보 보기' 크롬 웹브라우저에서 아래 그림과 같이 'https://' 를 사용했음에도 불구하고 '안전함' 이 뜨지 않는다면..?인증서도 정상적으로 작동하고 인증 기간도 아직 남아 있는데 '안전함' 이라는 마크가 나오지 않는다니..그런데, 아래 화면을 보면 '공격자는 .. 이미지를 볼 수 있으면, 이미지를 수정하여.. 속일 수 있습니다.' 라고 나와요. 그래서 확인해 보니, img 태그 의 src 속성에 http:// 로 시작하는 부분이 있더라구요.동일 서버에서구동할 떄는 프로토콜 부분을 기술하지 않아도 되지만,외부 서버에서 가져오는 이미지라면 이렇게 할 수밖에 없죠.그래서, 해당 화면이 노출될 때 request.getRequestURL() 이 https:// 로 시작하는지 체크해서,https:// 로 시작하는 경우 ..
OWASP Top 10 - 2017 2017년 후에는 추가 발표 없음 http://cafe.naver.com/malzero/136928 (카페에 가입하면 조회 가능, 또는 네이버 검색하면 보안 세팅해도 검색엔진에서 보여줌 ㅠ)
하나의 .jsp 에서 request 와 getParameter()/getAttribute()/setAttribute() request.getParameter() 와 request.getAttribute() 는 다릅니다. request.getParameter("aaa") 라고 하면,현재 열려진 .jsp 를 호출하는 쪽의 response 데이타의 form 태그 파라미터에 "aaa" 라는 스트링에 넣어진 값을 체크합니다. request.getAttribute("aaa") 라고 하면,현재 열려진 .jsp 안에서 request.setAttribute("aaa", "문자열") 로 세팅하였을 때에만 값이 나오고,setAttribute() 를 호출하지 않았다면 request.getAttribute("aaa") 의 값은 null 입니다. A.jsp 가 B.jsp 를 호출하고,A.jsp 안에 와 같이 되어 있다고 할 때..B.jsp 에서 ..
JSP 에서 HTML 로 엑셀 저장시 테두리 두께를 얇게 하려면 thin 사용 JSP 에선 아래 2줄과 같이 response 세팅을 해 주어야 하구요.JSP 나 PHP 등등의 언어에서 세팅하는 방법이 다 있습니다. (이건 찾아 보심..)response.setContentType("application/vnd.ms-excel;charset=euc-kr");response.setHeader("Content-Disposition","attachment;filename=파일명.xls"); // 파일명은 한글 가능. 본문에 CSS 로 border-width 나 border 를 주는 경우,border-width:1px 세팅하더라도 테두리 두께가 두껍게 나옵니다...table 은 border:none 으로 하고 td 에는 border-right 와 border-bottom 등등생각할 수 있는 ..
ConcurrentModificationException, Transcation 이 중첩될 때도 발생 DB Transaction 을 태울 때,중첩이 되는 경우 ConcurrentModificationException 이 발생할 수 있다. 이게 또 항상 발생하는 것은 아님.. ㅠ.아무튼 트랜잭션은 중첩하지 않도록 작성하는 것이 좋다. http://blog.naver.com/wpdus2694/220827942824List 나 ArrayList 를 for 문에서 .remove() 할 때도..이 때는 for 문을 사용하지 말고 while 문에서 Iterator 를 사용하면 .remove() 된 내용을 감안하니 에러가 없다 한다. http://bryan7.tistory.com/196Multi-thread 환경에서 발생..aspectjtools 1.7.4 버전에서 보완되었다 한다.그런데, 역시나 for 문을 돌릴 ..
Java 를 사용하여 HTML 에서 텍스트만 추출하기 http://webinformation.tistory.com/21replaceAll("]*)?(\\s)*(/)?>", "")[출처] java에서 html 태그 없애기|작성자 율마