WEB Application

20/09/02 웹 프로그래밍 기초 (언어별 객체 선언 차, 마샬링, 예외)

Tech Signal 2020. 9. 3. 09:05

scriptlet <% %> 사용할 때 중요한 점:

1. 그 안의 코드는 다 지역코드가 된다

2. 진짜 소스 아님 => 진짜로 응답을 생성해주는곳은 _jspService 

 


numStr이 존재하면서 숫자타입인가 확인할 때 StringUtils.isNumeric() 사용해서 validation

** "" 빈값이면 true라 StringUtils.isNotBlank()도 써줘야함

 

recursive.jsp 비동기처리하기 (아래 빈 부분에 결과 표시하기)

 

Javascript -> java로 갈때

1. 자바스크립트 객체를 제이슨으로 바꾼다 (marshalling) 

2. 전송

3. 서버에서 제이슨 데이터를 자바로 (unmarshalling)

 

Marshalling: 네이티브 언어(자바스크립트)를 공용 언어(제이슨)로

Unmarshalling: 공용어(제이슨)를 네이티브 언어(자바스크립트)로

 


calform+ calculateServlet jsp로 ajax써서 합치기

 

request header에 있는 정보 가져오기 1탄

jsp안에서 <%자바코드 %>를 써서 String accept = req.getHeader("Accept"); 를 함. 그러면 Request Header에 속하는 메타 데이터를 가져올 수 있다.

 

하늘색처럼 expression 을 불러온 다음에 그거를 Map으로 넣고 entrySet() 이용해 jsp에 자바코드로써 출력해줄수있음.

근데 보면 jSONText로 넣어줬다!!!!!!!! 이런 모양이 된다. ㄱ

 

request header에 있는 정보 가져오기 2탄


 

자바
public class Test{ 
      String tmp1 = "test"; 
      int tmp2 = 3; 
} 
new Test(); 
자바스크립트
var test= { 
   tmp1:"test", 
   tmp2:3 
}; 
test.tmp3 = 45; 
test[tmp4] = 22; 
json 
{"tmp1" : "test", "tmp2" : 3, "tmp3": true } 
"{\"tmp1\" :\"test\",\"tmp2\" : 3,\"tmp3\": true }" 
xml 
"<Test> 
<tmp1>test</tmp1> 
<tmp2>3</tmp2> 
<tmp3>true</tmp3> 
</test>"

 

json은 걍 문자열만 있고 xml은 <> 사이에 무조건 넣어줘야함


 


<Exception>

: 설계 당시에 예상하지 못했던 모든 상황을 Throwable로 캡슐화                                                  
     - Error: 개발자가 직접 처리할 수 없는 예외                                                                       
     - Exception: 개발자가 처리할 수 있는 예외                                                                      
- checked Exception ( 최상위 객체: Exception): 반드시 처리해야함                                            
e.g. IOException. SQLException, ServletException                                         

 

- unchecked Exception (최상위 객체: RuntimeException): 처리하지 않아도 VM에게 예외 제어권이 전달됨                    -> (UserNotFoundException 나중에 스프링에서 쓰는데, 걔가 여기 속함)  
e.g. NullPointerExcpetion, IllegalArgumentException, ArithmeticException, IndexOutOfBound
                                                                                                  
예외 처리방법                                                                                           
try - catch - finally                                                                             
try(closable객체 선언) : try with resource 구문 (since JAVA 1.7)        

 

throws : 예외를 호출한 곳으로 보냄. 거기에 try catch있으면 try catch 됨

throw: 예외 객체를 생성하고, 해당 예외를 메소드 호출구조 상에 올릴 때 (exception을 일부러 내가 만든다)                            
  

1번에서 ArithmeticException이 발생 -> 2번에서 catch로 무언가 해주고 나면 해결됨 -> 3번에서 정상 작동 => value가 sysout 된다                                                     

 

 

UserNotFoundException