`
阅读更多

最近用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" onclick="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" onblur="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  onclick="loginVerify()">jjjj</button></div></td>
   </tr>
   
  </table>
 </div>
 
 </s:form>
 
   
   
   
  </body>
</html>

 

分享到:
评论

相关推荐

    DWR与SPRING 集成

    3. **DWR与Spring集成的意义**: 将DWR与Spring结合使用,可以在Spring管理的bean中直接调用方法,无需手动创建HTTP请求。这使得前端与后端的交互更加简单,提高了开发效率,并且降低了出错的可能性。 4. **集成...

    DWR与SPRING,DWR与STRUTS2的整合

    1. **配置DWR Spring集成**:在Spring配置文件中定义DWR相关的bean,如`DWRConfig`和`SpringContextUtil`,以便让DWR能够访问Spring的bean。 2. **Spring托管的Java类暴露给JavaScript**:通过Spring的`@Service`或...

    DWR示例与spring集成

    - **Spring集成示例**:说明如何配置DWR与Spring的集成,以及如何在JavaScript中调用Spring的Bean。 通过理解并实践这些示例,开发者可以更好地掌握DWR的使用,并将其应用于实际的Web应用中,实现高效、便捷的前后...

    dwr与spring集成的方式

    ### dwr与spring集成的方式 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的Java框架,允许在客户端直接调用服务器端的Java方法,从而简化了传统的JavaScript编程复杂度。Spring作为一款流行的企业...

    dwr+spring集成配置

    将DWR与Spring集成,可以充分利用Spring的管理能力,简化DWR的配置和增强应用的可维护性。 ### 集成步骤 1. **引入依赖** 在项目的`pom.xml`文件中添加DWR和Spring的依赖。确保版本兼容,通常选择最新稳定版本。 ...

    Spring与DWR集成

    **Spring与DWR集成** Spring框架是Java领域中极为重要的轻量级应用框架,它提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、事务管理等,用于简化企业级应用开发。Direct Web Remoting (DWR) 是一个开源...

    dwr和spring集成简单例子

    将DWR与Spring集成,可以方便地实现富客户端应用,提高用户体验。 在这个"Dwr和Spring集成简单例子"中,我们将探讨如何将这两个强大的工具结合在一起,以便在Web应用中创建动态、交互性强的用户界面。 首先,我们...

    dwr spring服务器主动推送示例代码

    本示例将深入探讨如何使用DWR与Spring框架集成,实现服务器主动推送功能。 首先,我们需要理解DWR的核心概念: 1. **DWR Engine**: 是DWR的核心组件,它处理客户端和服务器之间的通信,包括JavaScript到Java的调用...

    ext-dwr-spring集成Demo

    本示例"ext-dwr-spring集成Demo"就是一种将三个重要技术组件——EXT、Direct Web Remoting (DWR) 和Spring框架融合的实践。EXT是一个强大的JavaScript库,用于构建富客户端BS(Browser-Server)架构的应用;DWR则...

    spring+dwr.rar_dwr_dwr SPRING_spring dwr

    在IT领域,Spring框架和Direct Web Remoting (DWR)是两种重要的技术,它们在构建分布式Web应用程序中发挥着关键作用。本篇文章将详细讲解如何利用Spring与DWR结合,实现一个基本的功能:判断用户名是否已经存在于...

    使用dwr+spring实现消息推送

    Spring是一个广泛使用的Java应用框架,提供了依赖注入、面向切面编程、事务管理等功能,同时也支持多种集成技术,如WebSocket、HTTP长轮询等,用于实现消息推送。 将DWR与Spring结合,可以创建出高效且易于维护的...

    dwr+spring实例

    2. **Spring集成**: 要将DWR与Spring整合,我们通常会使用Spring的`DwrController`或者自定义一个Spring MVC控制器来处理DWR请求。此外,我们还需要在Spring的配置文件中声明DWR的相关bean,如`DwrConfig`,并将其...

    将dwr集成到spring mvc(dwr的配置是基于xml)

    在Spring MVC框架中集成DWR,可以进一步提升用户体验,因为Spring MVC专注于处理控制器逻辑,而DWR则负责客户端与服务器之间的通信。 集成DWR到Spring MVC的过程主要包括以下几个步骤: 1. **引入依赖**:首先,你...

    Spring 集成 Dwr 文件上传

    总的来说,Spring集成Dwr文件上传是一个结合了前后端交互、文件处理、错误处理等多个技术点的过程。它需要理解Spring的MultipartFile接口、DWR的工作原理以及HTTP协议的相关知识。通过这种方式,可以构建出用户体验...

    dwr与spring整合

    通过上述步骤,我们可以实现DWR与Spring的无缝集成,使得前端能够便捷地调用后端的业务逻辑,提高应用的交互性和响应速度。同时,Spring的管理功能可以帮助我们更好地组织和维护代码,提升项目的可维护性。

    Spring与DWR集成教程

    Spring 和 DWR(Direct Web Remoting)的集成是构建高效、动态的Web应用程序的一个关键步骤。DWR允许前端JavaScript直接调用后端Java方法,从而实现了AJAX(Asynchronous JavaScript and XML)通信,提升了用户体验...

    dwr+spring 注解方式

    下面将详细介绍如何通过注解实现DWR和Spring的集成以及相关知识点: 1. **Spring注解配置**: - `@Configuration`:标记一个类为Spring配置类,可替代传统的XML配置。 - `@ComponentScan`:用于扫描指定包下的...

    DWR结合spring例子(可用)

    在这个例子中,我们将会探讨如何将DWR与Spring集成,创建一个可运行的示例。首先,我们需要在项目中添加DWR和Spring的相关依赖。这通常通过Maven或Gradle的配置来完成,确保在项目的类路径中包含了DWR的JAR文件以及...

    文具申请系统 Extjs dwr spring 实现

    【文具申请系统 Extjs Dwr Spring 实现】 在IT领域,开发企业级应用程序时,通常需要使用到各种技术和框架来提高效率、增强用户体验并确保系统的可维护性。本项目"文具申请系统"就是一个这样的实例,它巧妙地融合了...

Global site tag (gtag.js) - Google Analytics