'Works'에 해당되는 글 15건
- 2009.01.19 [스크랩]Spring MVC - 구성 요소 및 처리 흐름
- 2009.01.15 manipulation functions
- 2009.01.15 a number of utility functions
- 2009.01.14 Writing JavaScript with DWR 2
- 2009.01.13 align="absmiddle"
- 2008.12.19 DB 에 "'" 넣기 1
- 2008.12.08 [JavaScript]Enumerator Object
- 2008.11.28 간단한 replaceAll 스크립트
- 2008.11.18 OZ Report
- 2008.11.18 OZ Report Designer
[스크랩]Spring MVC - 구성 요소 및 처리 흐름
원글 : http://blog.naver.com/jiruchi/10033260451
스프링 MVC 의 구성 요소
DispatcherServlet : 클라이언트의 요청을 전달 받아, 컨트롤러에게 클라이언트의 요청을 전달하고 리턴한 값을 View 에 전달하여 응답을 생성한다.
HandlerMapping : 클라이언트의 요청 URL 을 어떤 컨트롤러가 처리할지 결정
Controller : 클라이언트의 요청을 처리후 그 결과를 DispatcherServlet에 알려준다.
ModelAndView : 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다.
ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정한다.
View : 컨트롤러의 처리 결과 화면을 생성한다.
스프링 MVC 의 처리 흐름
1. 클라이언트 요청이 DispatcherService 에 전달
2. HanderMapping 에 클라이언트 요청을 처리할 컨트롤러 객체를 구함
3. 컨트롤러 객체의 handleRequest() 메서드를 호출하여 요청을 처리
4-5. 컨트롤러의 handleRequest() 메서드는 처리 결과 정보를 담은 ModelAndView 를 리턴
6-7. ViewResolver 응답 결과를 생성할 뷰 객체를 구함
8-9. View 는 클라이언트에 전송할 응답을 생성
[출처] Spring MVC - 구성 요소 및 처리 흐름|작성자 jiruchi
'Works > My Project' 카테고리의 다른 글
Writing JavaScript with DWR (2) | 2009.01.14 |
---|---|
OZ Report (0) | 2008.11.18 |
OZ Report Designer (0) | 2008.11.18 |
manipulation functions
'Works > terms' 카테고리의 다른 글
a number of utility functions (0) | 2009.01.15 |
---|
a number of utility functions
a number of = many 많은 a number of utility functions 많은 유용한 함수
the number of ~ = ~의 수 the number of utility functions 유용한 함수의 수
'Works > terms' 카테고리의 다른 글
manipulation functions (0) | 2009.01.15 |
---|
Writing JavaScript with DWR
DWR 을 처음한 나에게 제일 도움이 되는 글이다.. ^^
callback 함수를 처음 써본 난 이 한줄이 왜 그리 어려운건지..
이렇게 쭉~~~ 늘여진 걸 순서대로 줄이니 그야말로 이해가 쉽네..
출처 : http://directwebremoting.org/dwr/browser/intro
Writing JavaScript with DWR
DWR generates Javascript code that is similar to the Java code that exported using dwr.xml.
The biggest challenge in creating a remote interface to match some Java code across Ajax is the (usually) asynchronous nature of Ajax, compared to the synchronous nature of a normal Java call.
DWR solves this problem by introducing a callback function that is called when the data is returned from the server.
There are 2 recommended ways to make a call using DWR. Either using by appending a callback function to the parameter list or by appending a call meta data object.
It is also possible to put the callback function at the start of the parameter list, however this option is not advised because there are some issues when dealing with automatic http objects (see "Alternative Method"). This method mostly remains for backwards compatibility.
Simple Callback Functions
Suppose we have a Java method that looks like this:
public class Remote { public String getData(int index) { ... } }
We can use this from Javascript as follows:
<script type="text/javascript" src="[WEBAPP]/dwr/interface/Remote.js"> </script> <script type="text/javascript" src="[WEBAPP]/dwr/engine.js"> </script> ... function handleGetData(str) { alert(str); } Remote.getData(42, handleGetData);
'42' is just the parameter to the getData()
Java function - see above.
Alternatively you can use the all-in-one-line version:
Remote.getData(42, function(str) { alert(str); });
Call Meta-Data Objects
The alternative syntax is to make use of a call meta-data object that specifies the callback function and (optionally) other options. The example above would become:
Remote.getData(42, { callback:function(str) { alert(str); } });
This method has some advantages: Depending on your style it may be easier to read, but more importantly it allows you to specify extra call options.
Timeouts and Handling Errors
In addition to the callback meta data you can also specify a timeout and an errorHandler. For example:
Remote.getData(42, { callback:function(str) { alert(str); }, timeout:5000, errorHandler:function(message) { alert("Oops: " + message); } });
Finding the callback method
There are some instances when it might not be tricky to distinguish between the various callback placement options. (Remember that Javascript does not support overloaded functions). For example:
Remote.method({ timeout:3 }, { errorHandler:somefunc });
One of the 2 parameters is a bean parameter and the other is a call meta-data object but we have no way of telling which. In a cross-browser world we have to assume that null == undefined. So currently, the rules are:
- If there is a function first or last then this is the callback function, there is no call meta-data object and the other parameters are the Java args.
- Otherwise, if the last param is an object with a callback member that is a function then this is call meta-data the other params are Java args.
- Otherwise, if the first parameter is null we assume that there is no callback function and the remaining params are Java args. HOWEVER we check to see that the last param is not null and give a warning if it is.
- Finally if the last param is null, then there is no callback function.
- Otherwise, this is a badly formatted request - signal an error.
Creating Javascript objects to match Java objects
Suppose you have an exposed Java method like this:
public class Remote { public void setPerson(Person p) { this.person = p; } }
And Person
looks like this:
public Person { private String name; private int age; private Date[] appointments; // getters and setters ... }
Then you can call this from Javascript like this:
var p = { name:"Fred Bloggs", age:42, appointments:[ new Date(), new Date("1 Jan 2008") ] }; Remote.setPerson(p);
Any fields missing from the Javascript representation will be left unset in the Java version.
Since the setter returned 'void' we did not need to use a callback and could just leave it out. If you want to be notified of the completion of a server-side method that returns void then you can include a callback method. Obviously DWR will not pass any data to it.
'Works > My Project' 카테고리의 다른 글
[스크랩]Spring MVC - 구성 요소 및 처리 흐름 (0) | 2009.01.19 |
---|---|
OZ Report (0) | 2008.11.18 |
OZ Report Designer (0) | 2008.11.18 |
align="absmiddle"
아주 잘 되어있는 설명 링크 참조.. ^^
http://blog.naver.com/celeves/130013890890
정리 정말 잘 해 놨네..
'Works > Tip' 카테고리의 다른 글
DB 에 "'" 넣기 (1) | 2008.12.19 |
---|---|
[JavaScript]Enumerator Object (0) | 2008.12.08 |
간단한 replaceAll 스크립트 (0) | 2008.11.28 |
DB 에 "'" 넣기
update 할려니 삭제했다가 똑같이 insert 할려다가
과연 "'" 를 어떻게 넣었더라.. ??
참내.. 쿼리로 insert, update 한게 오래되니 별게 다 기억이 안나는군..
update Table_Name set Field_Name = '''A''' where 조건문
value 로 'A' 를 넣고 싶으면 ' --> ''으로 해주면 된다.. ^^
자꾸 잊어먹지 말자.
'Works > Tip' 카테고리의 다른 글
align="absmiddle" (0) | 2009.01.13 |
---|---|
[JavaScript]Enumerator Object (0) | 2008.12.08 |
간단한 replaceAll 스크립트 (0) | 2008.11.28 |
[JavaScript]Enumerator Object
Google, Naver에 물어보면 다나오니.. ^^;;
바쁜일도 없고 너무 심심해서 MSDN을 열심히 뒤지고 있답니다..
Enumerator 는 쉽게 말해서 Array 대신에 index를 쓰지 않고 Next 를 이용해서 쓸 수 있다는 장점이 있습니다.
심플하게 매핑을 할것이라면 Array 보다 유용하게 쓰이겠네요.. (인데스 필요 없는 경우.. )
[출처] MSDN
http://msdn.microsoft.com/en-us/library/6ch9zb09(VS.85).aspx
JScript
Updated: November 2007
Enables enumeration of items in a collection.
enumObj = new Enumerator([collection])
Collections differ from arrays in that the members of a collection are not directly accessible. Instead of using indexes, as you would with arrays, you can only move the current item pointer to the first or next element of a collection.
The Enumerator object provides a way to access any member of a collection and behaves similarly to the For...Each statement in VBScript.
The following code shows the usage of the Enumerator object:
function ShowDriveList(){ var fso, s, n, e, x; //Declare variables. fso = new ActiveXObject("Scripting.FileSystemObject"); e = new Enumerator(fso.Drives); //Create Enumerator on Drives. s = ""; for (;!e.atEnd();e.moveNext()) //Enumerate drives collection. { x = e.item(); s = s + x.DriveLetter; s += " - "; if (x.DriveType == 3) //See if network drive. n = x.ShareName; //Get share name else if (x.IsReady) //See if drive is ready. n = x.VolumeName; //Get volume name. else n = "[Drive not ready]"; s += n + "<br>"; } return(s); //Return active drive list. }
'Works > Tip' 카테고리의 다른 글
DB 에 "'" 넣기 (1) | 2008.12.19 |
---|---|
간단한 replaceAll 스크립트 (0) | 2008.11.28 |
[Oracle] where 1=1 의 의미와 활용 (0) | 2008.11.12 |
간단한 replaceAll 스크립트
str.split(" ").join("")
'Works > Tip' 카테고리의 다른 글
[JavaScript]Enumerator Object (0) | 2008.12.08 |
---|---|
[Oracle] where 1=1 의 의미와 활용 (0) | 2008.11.12 |
strstr(p1,p2) (0) | 2008.11.03 |
OZ Report
oza를 로컬에서 실행하고 ozr을 호출하다가 odi를 못찾는다는 에러메시지가 나면
oza에 ozr이 포함하고 있는 odi를 포함하고 있는지 확인하도록 한다.
'Works > My Project' 카테고리의 다른 글
Writing JavaScript with DWR (2) | 2009.01.14 |
---|---|
OZ Report Designer (0) | 2008.11.18 |
Project Terms (0) | 2008.11.05 |
OZ Report Designer
처음에 JVM 에러가 나면
OZ Report Designer
C:\Program Files\Forcs\OZ XStudio\OZ Report Designer 3.5[해당OZ 어플]\config\launch.cfg
에 JRE_PATH 를 변경해 주도록 한다.
'Works > My Project' 카테고리의 다른 글
OZ Report (0) | 2008.11.18 |
---|---|
Project Terms (0) | 2008.11.05 |
[Spring2] 자바지기 Spring 프레임워크 강의 - Spring Framework - Confluence (1) | 2008.08.07 |