(1)首先添加dwr.jar包javascript
(2)添加dwr.xml文件html
(3)修改web.xml文件添加代碼java
<servlet>
<servlet-name>dwr</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>web
(4)在業務邏輯層也就是biz中寫方法checkname()方法中調用根據名字查找學生是否存在,返回來得是集合,判斷他的個數若是大於0證實用戶存在,反之不存在app
public boolean checkname(String name){
if(studentDao.findByName(name).size()>0)
{
return true;
}else{
return false;
}
}ide
(5)在util中在建立一個類studentdwr獲取biz返回來得結果函數
public boolean checkname(String name){
ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
biz.IStudentBiz student=(IStudentBiz) context.getBean("studentbiz");
return student.checkname(name);
}ui
(6)在dwr.xml中配置信息url
<dwr>
<allow>
<create creator="new" javascript="Jstudent">//Jstudent本身起的腳本名稱
<param name="class" value="util.studentdwr" />//util.studentdwr表示你寫的類的路徑
<include method="checkname" />//checkname類的方法
</create>
</allow>
</dwr>debug
(7)建立頁面
一個文本框id爲name
一個按鈕
(8)部署檢查http://localhost:8080/ss/dwr/index.html看是否有咱們寫的方法的名稱點擊方法名稱複製下面三個
<script type='/text/javascript' src='ss/dwr/interface/Jstudent.js'></script>
<script type='/text/javascript' src='ss/dwr/engine.js'></script>
<script type='/text/javascript' src='ss/dwr/util.js'></script>
去掉第一個根目錄變成
<script type='text/javascript' src='dwr/interface/Jstudent.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
放到建立的頁面的<head></head>裏面
(9)編寫腳本
<script type="text/javascript">
function checkname(){//要調用的方法名
var name=document.getElementById("name").value;//獲取文本框的值
Jstudent.checkname(name,huidiao);//Jstudent是咱們在dwr.xml起的腳本名稱,用它調用他裏的方法checkname,方法多了一個回調函數,若是業務邏輯裏傳的是兩個參數那這裏就三個參數由於這裏都一個回調函數,以此類推
}
function huidiao(x)//與回調還屬不一樣的是這裏多了一個參數,這裏的參數就是寫的方法返回的值
{
if(x)
{
alert("用戶名已存在!");
}
else{
alert("用戶名能夠使用!");
}
}
</script>
(10)
按鈕調用事件onclick="checkname()";
(11)部署運行檢查