DWR (Direct Web Remoting) js 자바 호출 방법
11268 단어 JavaScript자바springWebDWR
1. 웹. xml 설정
<!-- dwr -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2. 호출 되 어야 할 클래스, 즉 호출 된 클래스 를 완성 합 니 다.
User.java
package lynn;
public class User {
// ID,
private String id;
//
private String name;
//
private String password;
//
private String email;
// get set
... ...
UserDAO.java
package lynn;
import java.util.HashMap;
import java.util.Map;
public class UserDAO {
//
private static Map<String, User> dataMap = new HashMap<String, User>();
//
public boolean save(User user) {
if (dataMap.containsKey(user.getId()))
return false;
System.out.println(" ");
System.out.println("id:" + user.getId());
System.out.println("password:" + user.getPassword());
System.out.println("name:" + user.getName());
System.out.println("email:" + user.getEmail());
dataMap.put(user.getId(), user);
System.out.println(" ");
return true;
}
//
public User find(String id) {
return (User) dataMap.get(id);
}
}
3. dwr. xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="DWRUserAccess">
<param name="class" value="lynn.DWRUserAccess" />
</create>
<convert converter="bean" match="lynn.User" />
</allow>
</dwr>
1) < allow > 탭 에는 자 바스 크 립 트 에 접근 할 수 있 는 것 이 포함 되 어 있 습 니 다.
2) < create > 탭 에서 javascript 에 접근 할 자바 클래스 를 지정 하고 DWR 가 원 격 클래스 를 수행 할 인 스 턴 스 를 어떻게 얻 는 지 정의 합 니 다.
creator = "new" 속성 은 자바 류 인 스 턴 스 생 성 방식 을 지정 합 니 다. new 는 DWR 가 클래스 의 기본 구조 함 수 를 호출 하여 인 스 턴 스 를 얻 어야 한 다 는 것 을 의미 합 니 다. 다른 것 은 spring 방식 도 있 습 니 다. IOC 용기 Spring 과 통합 하여 인 스 턴 스 를 얻 는 등 입 니 다.javascript = "DWRUerAccess" 속성 은 javascript 코드 접근 대상 을 지정 할 때 사용 할 이름, 즉 생산 할 js 의 이름 을 html 에서 가 져 온 js 이름과 일치 해 야 합 니 다.
< param > 탭 은 자 바스 크 립 트 에 공개 할 자바 클래스 를 지정 합 니 다.
< include > 탭 은 자바 script 에 공개 할 방법 을 지정 합 니 다.지정 하지 않 으 면 모든 방법 을 공개 합 니 다.
< exclude > 탭 은 접근 을 방지 할 방법 을 지정 합 니 다.
3) < creator > 탭 은 웹 원 격 클래스 와 클래스 를 공개 하 는 방법 을 담당 하고, < convertor > 탭 은 이러한 방법의 매개 변수 와 반환 형식 을 책임 집 니 다.
convert 요 소 는 DWR 가 서버 쪽 자바 대상 표시 와 직렬 화 된 자바 스 크 립 트 사이 에서 데이터 형식 을 어떻게 변환 하 는 지 알려 주 는 역할 을 합 니 다.DWR 은 자바 와 자 바스 크 립 트 표시 사이 에 간단 한 데이터 형식 을 자동 으로 조정 합 니 다.이러한 유형 은 자바 네 이 티 브 유형 과 이들 각자 의 패 키 징 류 를 포함 하고 String, Date, 배열 과 집합 유형 도 포함한다.DWR 도 자바 빈 을 자바 스 크 립 트 로 변환 할 수 있 지만 안전성 때문에 명시 적 설정 을 요구 합 니 다. < convertor > 탭 은 이 기능 을 완성 합 니 다.converter = "bean" 속성 지정 변환 방식 은 자바 빈 이름 규범 을 사용 합 니 다. match = "lynn. user" 속성 은 변환 할 자바 빈 이름 을 지정 하고 탭 은 변환 할 자바 빈 속성 을 지정 합 니 다.
4. html 완성, 즉 호출 자
test.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>DWR </TITLE>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<script src="dwr/engine.js"></script>
<script src="dwr/util.js"></script>
<script src="dwr/interface/DWRUserAccess.js"></script>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
function saveFun(data) {
if (data) {
alert(" !");
} else {
alert(" ID !");
}
}
function OnSave() {
var userMap = {};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
DWRUserAccess.save(userMap, saveFun);
}
function findFun(data) {
if (data == null) {
alert(" :" + queryForm.id.value);
return;
}
alert(" ,nid:" + data.id + ",npassword:" + data.password + ",nname:"
+ data.name + ",nemail:" + data.email);
}
function OnFind() {
DWRUserAccess.find(queryForm.id.value, findFun);
}
</SCRIPT>
<BODY>
<B> </B>
<br>
------------------------------------------------
<Br>
<form name="regForm">
ID:
<input type="text" name="id">
<br>
:
<input type="password" name="password">
<br>
:
<input type="text" name="name">
<br>
:
<input type="text" name="email">
<br>
<input type="button" name="submitBtn" value=" " onclick="OnSave()">
<br>
</form>
<br>
<br>
<B> </B>
<br>
------------------------------------------------
<Br>
<form name="queryForm">
ID:
<input type="text" name="id">
<br>
<input type="button" name="submitBtn" value=" " onclick="OnFind()">
<br>
</form>
<br>
</BODY>
</HTML>
1) 반드시 가 져 와 야 한다
그 중에서 engine. js 와 util. js 는 모두 dwr - 2.0.3 - src. zip 의 자바 / org / dwrwebremoting / 디 렉 터 리 에 있 습 니 다.DWRUUserAccess. js 는 자동 으로 생산 되 며 주의 경 로 는 * / interface / *. js 여야 합 니 다.
2) 자바 호출 방법
function saveFun(data) {
if (data) {
alert(" !");
} else {
alert(" ID !");
}
}
function OnSave() {
var userMap = {};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
DWRUserAccess.save(userMap, saveFun);
}
DWR 구성 요소 이름. 호출 된 자바 방법 이름 (방법 매개 변수, 방법의 반환 값)
5. DWR 와 Spring 의 통합
변경 할 곳:
1) 웹. xml 에 추가
<!-- WebApplicationContext-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
applicationContext. xml 경로 주의
2) applicationContext. xml 에 bean 설정
3) dwr. xml 수정
<dwr>
<allow>
<create creator="spring" javascript="DWRUserAccess">
<param name="beanName" value="DWRUserAccess" />
</create>
<convert converter="bean" match="lynn.User" />
</allow>
</dwr>
creator 의 값 은 new, spring, struts 일 수 있 습 니 다.
< param > 태그 설정 이 호출 된 bean 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.