dwr spring集成

最近用dwr做了个登陆验证的例子,可真是几经波折呀(程序很简单)。

先贴个dwr的小例子:

 

dwr要验证的java方法(该方法返回值是ajax中回调函数的参数)

public String login(String name, String pwd){
  System.out.println(name+pwd);

  if(null==name || "".equals(name.trim())){
   System.out.println("kkkkkkkk");
    return "1";
  }
  if(null==pwd || "".equals(pwd.trim())){
   System.out.println("nnnnnnnnnnn");
   return "2";
  }
  System.out.println(name+pwd);
  return "3";
  
 }

前台用到的jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<html>
  <head> 
  <title>login.jsp</title>
<script type="text/javascript" src="hunai/js/jQuery.js"></script>
<script type="text/javascript" src="hunai/js/verify.js"></script>
<script type="text/javascript" src="dwr/engine.js"/></script>
<script type="text/javascript" src="dwr/util.js"/></script>
<script type="text/javascript" src="dwr/interface/loginService.js"></script>
<script type="text/javascript">
  function test4(){
  var name = $("user.name").value;//util.js中的方法$()
  var pwd = $("user.pwd").value;
  loginService.login(
    name,
    pwd,
    function(datas){
    if(datas==1){
     alert("用户名不能为空");
    }
    if(datas==2){
     alert("密码不能为空");
    }
    if(datas==3){
     alert(datas);
    document.form1.submit();
    // document.getElementById(form1).submit();
    }
   }
  );
 }
</script>
</head>
 
<body> 
 
  <s:form action="index" method="post" name="form1">
        <s:textfield name="user.t_name" label="username"/>
      <s:password name="user.t_pwd" label="密码"/>
      <s:submit label="登录" align="center" type="button" οnclick="test4()"/>
   </s:form>
  </body>
</html>

dwr.xml配置:

 <create creator="new" javascript="loginService">//注意creator的方式,通过new实例化
      <param name="class" value="com.hunai.service.impl.LoginService"/>
    </create>

web.xml配置

<servlet>
    <servlet-name>dwr-invoker</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-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>

如果要集成spring的话需要改好几个地方(在LoginService类中通过spring注入方式实例化的类ajax不能调用,比如dao、pojo)

public class LoginService implements ILoginService{
//此类通过spring依赖注入,dwr若不集成 spring,dwr将不识别

public IUserMainDao userMainDao;

//此类方法通过spring依赖注入,dwr若不集成 spring,dwr将不识别
 public UserMain userMain;
 public String login(String umEmail,String umPwd){
  if(umEmail.length()==0||umEmail==""){
   System.out.println("kong");
   return "1";
  }else{}
   System.out.println(umEmail);
   userMain = userMainDao.findUserMainByEmail(umEmail);
   if(userMain==null){
    return "2";//对不起!没有这个用户
   }else{
    if(!(umPwd.equals(userMain.getUmPwd()))){
     System.out.println("密码错误!!!");
     return "3";//密码错误
    }else{
     System.out.println("密码正确!!!");
     return "4";//密码正确
    }
   }


  
 }
  

 }

添加的spring配置:

web.xml中添加

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath:configfile/hunai/applicationContext*.xml,
  classpath:configfile/loveshop/applicationContext*.xml</param-value>
 </context-param>
<listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

applicationContext-action.xml中的配置:

spirng依赖注入bean

<bean id="loginService" class="com.hunai.service.impl.LoginService">
  <property name="userMain" ref="userMain"></property>
  <property name="userMainDao" ref="userMainDao" />
 </bean>

dwr.xml也要修改:不再通过new,而是spring了

<create creator="spring" javascript="loginService">
      <param name="beanName" value="loginService"/>
    </create>

注意value的值对应applicationContext-action.xml中的loginService

 

前台调用:

<%@ page language="java"  pageEncoding="gb18030"%>
<%@ page contentType="text/html; charset=gb2312"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>


  <title>My JSP 'login.jsp' starting page</title>

  <script type="text/javascript" src="hunai/js/jQuery.js"></script>
 <script type="text/javascript" src="hunai/js/verify.js"></script>
 <script type="text/javascript" src="dwr/engine.js"/></script>
 <script type="text/javascript" src="dwr/util.js"/></script>
 <script type="text/javascript" src="dwr/interface/loginService.js"></script>
 <script type="text/javascript">
    
  function loginVerify(){
   var umEmail = $("umEmail").value;
   var umPwd = $("umPwd").value;
  loginService.login(umEmail,umPwd,
    function(datas){

    if(datas==1){
    // alert("用户名不能为空");
     DWRUtil.setValue("email","用户名不能为空");
    }

    if(datas==2){
    // alert("没有这个用户");
     DWRUtil.setValue("email","没有这个用户");
    }
    if(datas==3){
     alert("密码错误");
     pwd.className="show exactness";
     DWRUtil.setValue("pwd","密码错误");
    }
    if(datas==4){
     //alert(datas);
     document.form1.submit();
    }
   }
   );
  }
 </script>
  </head>
 
  <body>
   
    <br>
    <s:form action="login" method="post" name="form1"  >
     
 <div>
  <table>
   <tr>
    <td cols="2"><div style="text-align: center;font-size: 20px;color: red">用户登录</div></td>
   </tr>
   <tr>
    <td><div>邮箱名: <s:textfield id="umEmail" οnblur="loginVerify()"/></div></td>
    <td><div id="email"></div></td>
   </tr>
   <tr>
    <td><div>密 码: <s:password id="umPwd" /></div></td>
    <td><div id="pwd"></div></td>
   </tr>
   <tr>
    <td cols="2"><div><button  οnclick="loginVerify()">jjjj</button></div></td>
   </tr>
   
  </table>
 </div>
 
 </s:form>
 
   
   
   
  </body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值