dwr的使用

编程技术  /  houtizong 发布于 3年前   90

使用dwr进行异步的请求操作

使用dwr可以通过调用javascript的方法来调用java的相应方法,从而达到异步请求处理的结果。

1、导入相应的jar包

dwr.jar

2、编写处理Ajax请求的类

package cn.hpu.dwr;import java.util.List;import java.util.Map;import javax.servlet.http.HttpSession;import cn.hpu.po.RoleRelation;import cn.hpu.po.User;import cn.hpu.service.UserService;public class LoginAjax {private UserService userService;/**用户登录 * @author qinrui * @param java.util.Map map * @param session * @return java.lang.String */public String login(Map map ,HttpSession session) {String name = map.get("name").toString();String password = map.get("password").toString();String code = map.get("code").toString();// 数据校验if(name != null && !"".equals(name.trim()) && password != null && !"".equals(password.trim())) {if(code != null && !"".equals(code.trim())) {String randCode = session.getAttribute("rand").toString();if(randCode.equals(code)) {User loginUser = userService.loadUserByRegName(name);if(loginUser != null) {if(loginUser.getPassword().equals(password)) {// 登录记录session.setAttribute("user", loginUser);List<RoleRelation> roleRelations = loginUser.getRoleInfo().getRoleRelations();session.setAttribute("roleRelations", roleRelations);return "true";} else {return "密码错误!";}} else {return "用户名不存在!";}} else {return "验证码不正确!";}} else {return "验证码为空!";}} else {return "用户名或密码为空!";}}public UserService getUserService() {return userService;}public void setUserService(UserService userService) {this.userService = userService;}}

3、配置beans.xml

<!-- 配置用户登录的异步类 --><bean id="loginAjax" class="cn.hpu.dwr.LoginAjax"><property name="userService" ref="userService" /></bean>

 

4、在WEB-INF下面添加dwr.xml文件并进行配置(此处使用Spring来进行管理创建)

<?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><!-- 不使用Spring进行管理 --><!--<create creator="new" javascript="LoginAjax"><param name="class" value="cn.hpu.dwr.LoginAjax" /></create><convert converter="bean" match="cn.hpu.po.DDCategory"></convert>--><!-- 用户登录的异步类 --><create creator="spring" javascript="loginAjax"><param name="beanName" value="loginAjax" /><include method="login" /></create></allow></dwr>

 

5、引入相应的javascript文件

<!-- 使用dwr所必须引入的js文件 --><script type="text/javascript" src="dwr/engine.js" ></script><!-- 使用dwr获取页面(表单等)值引入的工具js文件 --><script type="text/javascript" src="dwr/util.js" ></script><!-- 与java文件相对应的js文件,此处的js文件名必须与dwr.xml配置里面的javascript的值相同 --><script type="text/javascript" src="dwr/interface/complainAjax.js" ></script>

 6、使用complainAjax来调用java里面的方法

<script type="text/javascript" >function login() {var loginMap = dwr.util.getValues("loginForm");loginAjax.login(loginMap , loginCallback);}function loginCallback(data) {if(data == 'true') {window.location.href = 'index';} else {alert(data);}}</script>

 

<div id="loginField" style="background: url('img/login.png');"><form id="loginForm" method="post"><table><tr><td>用户名:</td><td><input type="text" name="name" class="inputStyle" /></td></tr><tr><td>密&nbsp;&nbsp;码:</td><td><input type="password" name="password" class="inputStyle" /></td></tr><tr><td>验证码:</td><td><input type="text" name="code" class="codeInputStyle" /><img src="image" class="imageStyle" /></td></tr><tr><td colspan="2" class="buttonRow"><input type="button" onclick="login()" value="登录" /><input type="reset" value="重置" /></td></tr></table></form></div>

 

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客