(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)部署运行检查