본문 바로가기
IT/PJT

JSP 웹사이트 개발

by heavenLake 2022. 2. 17.
반응형

-. 컨트롤 과 뷰간에 데이터 주고 받기

     - 스프링

     - ${} - EL 표현식 문법과 사용 방법

=======================================
 
개발 참고 추천 사이트 :
 
=======================================
 

1. request에 대한 결과값을 특정 주소로 결과 값을 보낼때....

 
    1-1. 컨트롤러 변수값 생성 및 보내기
          @RequestMa...("")
          public String sSend(...... Model modle....)
          {
                --첨부할 일반변수
                model.addAttribute("변수명" ,변수값(List,VO,Map,String.....));
                model.addAttribute("data" , list);
 
               --json 변수
               ObjectMapper mapper = new ObjectMapper();
               String json = mapper.writeValue...(list);
               model.addAttribute("m_json",json);
 
               return "주소";
          }
 
 
     1-2 Jsp에서 변수 받기
 
          - string 받기
               var v_str = "${data}";
               var v_str = "<c:out value='${data}'>";// jstl태그도 <script></script>안에서도 사용가능하며,
                              쌍따움표 안에 있건 없건 문자가 아닌 태그로 인식되어 값이 들어간다.
                              (jstl이 생성주기가 빠르기때문)
 
          - list
               1. var v_aa = "{$data.get(0)}"   /    "${data[0]}"
               2. list안에 값이 map이나 vo면
                   <c:forEach......
 
          - map, vo등
               var v_dd = "${data.dd}";
 
          - json
               var data = "{m_json}";
               var v_data = JSON.parse(data);
 
 
 
2. ajax또는 결과값을 해당 웹주소롤 리턴하는게 아니고 호출 된 곳으로 데이터를 리턴할때는
   리턴 타입 앞에
 
.....
=======================================
 
 
 
 
    - 메시지처리 방법 (ajax호출이 아닌 일반 호출시)
        alertmsg.jsp 참고.
 
 
 
 
       
 

2. Jquery 와 document.element를 이용해 요소에 접근

    - element 접근방법
      (DOM관련 참고 : https://ko.javascript.info/)
 
 
    - Jquery Api : https://api.jquery.com/
 
    - jquery 셀렉터들
   
   
 
 

    
 

3. session 값 처리등 불러오기

   
   
      
 

4. 프로퍼티 설정및 읽어오기

 

5. log4j  설정 방법

 

6. 암호화 및 Encoder

 

7. 컴스텀 태그 정의 및 사용방법

 

8. 웹취약점검 종류 및 해결 방법

    - jsp코드에 변수를 el 태그에서 출력하기
      => el 태그로 출력하기 위해서는 request에 setAttribute를 해야지만 가능하다.
<%

String test = "Hello Java";

request.setAttribute("test", test);

%>



<span>${test}<span>​

 

 

    - xss 방지        
   
    - xss 처리 및 전체 필터
           (hashmap/멀티파트폼/json등은 필터 따로 필요할수도 있음 - 네이버, egov필터로 안 막힐 수 있음.)
           (pageContext.request.queryString을 사용하면 필터에 안걸림. )
     
    - EL, JSTL  XSS 처리
${fn:escapeXml(myName)}​
<c:out value="${id}" escapeXml="false"/> 
 
   
     - SSL 사용
       통신구간 암호화 이므로 Client < - > Server 간 통신시 데이터를 암호화 하는 것입니다.
       GET, POST 상관없이 통신 구간에 암호화 된다.
       URL 주소등 안에 변수 등이 암호화 되는건 아니고 통신 구간에서 가로채도 값을 알수 없도록 암호화
       하는거라 생각해야 한다.
       => SSL을 적용한다고 소스나 프레임워크에 변경은 없고 웹서버에 SSL 인증서를 등록하면 된다.
       
 
     - SSL 적용 시 TLS1.2 이상 이어야 한다.  => TLS1.0, 1.1 사용 막기
 
     - 파일 업로드 기능에서 jsp, js, html등 특정 파일확장자는 업로드 안되도록 해야한다.
 
     - 권한체크
           - URL 직접 접근시 권한체크
           - 권한에따른 버튼제어시 자바 스크립트로 disable처리하지 말고 EL,JSTL(서버사이트스크립트) ]
             문법등으로 사용자에게 소스자체가  안보이도록 수정
 
 
    - 쿠키사용.
            쿠키의 보안 취약점
            쿠키 사용하기.
 
 

9. 소스코드 진단 종류 및 해결 방법

 
 

10 기타

     - JavaScript 키보드 이벤트 생성

     - 쿠키등록 ( 팝업창 하루동안 열지 않기 & 하루에 한번만 띄우기)

 

 
     - 웹소켓 ( ex : 사용자로부터 request요청 없이 특정 사용자에게 메시지 보내기 )
              
       톰캣에서는 실행이 잘 됐는데. 제우스로 가니까. 
       소켓 연결이 안되는 문제 발생. ... 
       제우스에서 웹소켓 설정하는 부분이 있는데.
       그 설정을 하면 제대로 실행되는지는 알수 없음.
       (제우스가 문제가 아니고 webToB가 문제, revers proxy설정등이 필요.... 버전에 따라 다르다.)
       또한 방화벽 문제도 생길수 있다. (참고 : https://okky.kr/article/465134)
 
     
     - 이미지 tiff 파일 생성하는법.
 
   
 
 

     - 웹 캐시 저장 방지하기

 

 

반응형

'IT > PJT' 카테고리의 다른 글

개발자 프로그램 체크리스트  (0) 2022.07.22
스프링  (0) 2022.02.17

댓글