dwr 登录实现 (入门知识)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

     采用DWR的话,效果真是立竿见影,虽然说可能破坏MVC设计模式这一思想,但是他那低耦合的程序调计方法,就好像在用开发CS程序一样简单。以前用ajax写程序时,时间花的最多的也就是JS部分,现在有了DWR以后,我可以不用再调试复杂的js,把精力集中在业务逻辑上,这样必将事半功倍!刚刚学了一个入门级的实例,为了供大家学习,我把源码贴出来!不要见笑,我也是初学DWR。

首先配置web.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE web-app 
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"> 
<web-app> 
 <display-name>sjf</display-name> 
 <description>sjf</description>
 <servlet>
  <servlet-name>dwr-invoker</servlet-name>
  <display-name>DWR Servlet</display-name>
  <description>Direct Web Remoter Servlet</description>
  <servlet-class>uk.ltd.getahead.dwr.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>
</web-app> 
dwr.xml文件配置:
<?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>
<!-- without allow, DWR isn't allowed to do anything -->
 <allow>
 <create scope="application" creator="new" javascript="checkLogin">
  <param name="class" value="com.test.ajax.UserLogin"/>
 </create>
 </allow>
</dwr>
Java文件(UserLogin.java)代码:
package com.test.ajax;

public class UserLogin{
 private String usern;
 private String passwd;
 public UserLogin(){
 }
 public String checkLogin(){
  if(usern.equals("admin") && passwd.equals("admin")){
   return "login success!";
  }else{
   return "login faild!";
  }
 }
 public void setField(String usern,String passwd){
  this.usern=usern;
  this.passwd=passwd;
 }
 public static void main(String args[]){
  UserLogin ul=new UserLogin();
  ul.setField("admin","admin");
  System.out.println(ul.checkLogin());
 }
}
jsp文件(当然完全可以用html文件替代)代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8"  pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>dwr for user login</title>
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/interface/checkLogin.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/engine.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/dwr/util.js"></script>
<script language="javascript">
var mycall=function callBack(data){
 alert(data);
}
function login(){
 var un=document.getElementByIdx("form_usern");
 var pd=document.getElementByIdx("form_passwd")
 checkLogin.setField(un.value,pd.value);
 checkLogin.checkLogin(mycall);
}
</script>
</head>
<body>
<h1>User login</h1>
<label for="form_usern">用户:</label><input type="text" id="form_usern"/><br/>
<label for="form_passwd">密码:</label><input type="password" id="form_passwd"><br/>
<input type="button" value="登录" onclick="javascript:login()">
</body>
</html>
注:请确保在\WEB-INF\lib文件夹下有dwr.jar文件的存在

原文地址:https://www.cnblogs.com/netcorner/p/2912429.html