메서드를 호출할때 호출 하는 메서드가 인자를 필요로 하는경우 () 안에 인자를 넣어 호출한다. 이때 메서드에서 파라미터를 받아 사용할때 호출하는 방법이 2가지가 있는데 그것이 call by value, call by reference 이다. 우리말로하면 값호출, 참조호출 정도가 될것이다. 호출방법을 프로그래머가 지정할 수는 없다. 동일한 인자를 여기선 값으로, 저기선 참조로 호출할수는 없다는 얘기다. 기본적으로 자바는 8가지의 기본형 데이터에 대해선 call by value로 호출하며 그 외에 사용자지정타입. 즉 객체에 대해서만 call by reference로 호출하게된다. 두가지의 차이점은 소스로 확인해보자 class TestClass{ int num1; int num2; public TestClas..
Impersonator 자신의 정체를 속여서 요청을 보내는 기법 Upgrader 자신의 등급을 속이는 기법 Eavesdropper 요청을 중간에 훔쳐보는 기법 서블릿보안 4요소 인증(Authentication) 인가(Authorization) 비밀보장(Confidentiality) 데이터무결성(Data Integrity) 인증과 인가가 좀 알쏭달쏭한데 인증은 일단 로그인 자체라고 생각하고 인가는 로그인 후 사용자의 등급이라고 생각하면 될듯하다. 아이디와 패스워드를 입력후 로그인하는것은 인증. 로그인 후 관리자, 특별회원, 우수회원, 일반회원의 등급을 정하는것은 인가. 인증 인증은 4가지 방식을 지원하는데 BASIC, DIGEST, CLIENT-CERT, FORM 방식이 있다. BASIC HTTP 표준 D..
1.ServletContextListener -애플리케이션이 배포, 종료되는 순간 이벤트 발생 Spring을 사용하다보면 web.xml에 org.springframework.web.context.ContextLoaderListener 라고 작성된걸 많이들 봤을것이다. 저기에 명시된 ContextLoaderListener가 ServletContextListener를 확장한(구현한) 클래스이며 애플리케이션이 배포되는 순간 Spring Bean들을 생성하는것이다. 2. ServletContextAttributeListener -서블릿 컨텍스트에 속성을 추가, 수정, 삭제하는 순간 이벤트 발생 3. HttpSessionListener -세션이 생성, 소멸하는 순간 이벤트 발생 4. ServletRequestLi..
이클립스에서(굳이 IDE툴이 아니라도) 톰캣(더 정확히는 WAS)을 실행시키면 여러 서버설정 xml파일들이 읽힘. 이것저것 파일들이 있겠지만 사실 개발자에게 가장 중요한 web.xml도 이때 와스가 읽게됨. WAS가 구동되면서 프로젝트에 존재하는 서블릿들도 JVM에 로딩됨. *클래스가 로딩되는거지 서블릿 객체생성은 아님. *WAS에 따라서 이때 서블릿 객체를 생성하는 경우도있고 로딩만 해놓고있다가 첫 요청이 들어오면 그때 생성하는 경우도있음 WAS가 구동되면서 ServletContext 객체를 생성함. ServletContext 객체는 모든 서블릿이 공유하는 객체임. web.xml에 해당 context 객체에 저장할 파라미터를 정의할 수 있는데 web.xml에서는 기본형변수밖에 정의할 수 없음. 물론 굳..
InputStream in = null; OutputStream out = null; File file = null; try{ file = new File(path, newName); in = new BufferedInputStream(new FileInputStream(file)); out = new BufferedOutputStream(response.getOutputStream()); oldName = URLEncoder.encode(oldName, "UTF-8").replaceAll("\\+", " "); request.setCharacterEncoding("UTF-8"); response.setContentType("application/octet-stream"); response.setHead..
public fileUpload(@RequestParam("file")MultipartFile file){String filename = file1.getOriginalFilename(); String suffix = filename.substring(filename.lastIndexOf(".") + 1); String oldName = filename.substring(0, filename.lastIndexOf(".")); String newName = String.valueOf(System.currentTimeMillis()); File path = new File("경로"); FileOutputStream out = null; try{ byte[] fileData = paramFile.getByte..
WAS, DBMS 서버 등과 연결되는 Socket 관련 프로그램에서 다음과 같은 오류 메세지가 자주 발생한다. Connection reset by peer, Connection reset, Broken Pipe 이런 에러가 발생해도 정상적으로 잘 서비스되기 때문에 별로 관심을 안가졌는데 직접 데몬 서비를 만들고 관련 클라이언트를 만들다 보니 어떤 경우에 이런 에러가 발생하는지 알아야지만 대처가 가능할 것 같아서 찾아 보았다. - java.net.SocketException: Connection reset by peer: socket write error 원인: write 시 상대방 socket close 된 경우 - java.net.SocketException: Connection reset 원인: re..
출처 : http://blog.naver.com/PostView.nhn?blogId=napsis&logNo=140156257733&parentCategoryNo=8&viewDate=¤tPage=1&listtype=0&from=postList java.lang.IllegalStateException: getOutputStream() has already been called for this responseSTATUS : Closed Scenario : jsp to generate a report and on click of a button download the report xls from the server. Code in the jsp is as follows. response.setCont..
- Total
- Today
- Yesterday
- go-core
- toby
- frontcode
- spring cloud
- TEST
- MySQL
- Kotlin
- JavaScript Core
- Design Pattern
- OOP
- servlet
- EffectiveJava
- javascript
- 정규표현식
- java8
- programming
- clean code
- generics
- backend개발환경
- Jackson
- DesignPattern
- Git
- JPA
- mariadb
- code
- java
- frontend개발환경
- http
- Spring
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |