使用DWR在HTML中调用java类中定义的方法

导入jar包

在这里插入图片描述
将这两个jar包放在web-inf的lib中

配置

  • 在web.xml中配置

  • <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>

  • 配置dwr.xml文件

自己建一个xml文件,配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN"
    "http://getahead.org/dwr/dwr30.dtd">
 
<dwr> 
    <allow>
        <create creator="new" javascript="sendVarifyCode">
            <param name="class" value="类所在包以及类名"></param>
        </create>
    </allow>
 
</dwr>
package verify;

import java.util.HashMap;
import java.util.Random;

import com.zhenzi.sms.ZhenziSmsClient;

public class SendVarifyCode {

//	@Test
//	public void a() {
//		SendVarifyCode sendVarifyCode = new SendVarifyCode();
//		sendVarifyCode.send();
//	}

	public String send(String telCode) {
		String apiUrl = "https://sms_developer.zhenzikj.com";
		String appId = "你的应用名";
		String appSecret = "你的密钥";
		ZhenziSmsClient client = new ZhenziSmsClient(apiUrl, appId, appSecret);
		HashMap<String, String> params = new HashMap<>();
		String code = getVerifyCode();
		System.out.println(code);
		params.put("message", "卓越快递,最好的快递软件,您的验证码为: " + code);
		params.put("number", telCode);
		System.out.println(telCode);
		try {
			String result = client.send(params);
			System.out.println(result);
			return code;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("还是失败了");
			return "失败啦";
		}

	}

	private static String getVerifyCode() {
		String ch = "1234567890";
		String result = "";
		Random random = new Random();
		for (int i = 0; i < 4; i++) {
			int index = random.nextInt(ch.length());
			char c = ch.charAt(index);
			result += c;
		}
		return result;

	}

}

  • 将项目部署到服务器上,在服务器上输入http://localhost:8080/项目名/dwr/
    可以看到下面页面:在这里插入图片描述
    这时可以点击那个链接,可以看到具体的信息:
    在这里插入图片描述
    这里会出现三个< script>标签,要把它们复制到一会儿要用到的HTML文件中哦
  • 在HTML文件中使用js引用SendVarifyCode的方法发送验证短信
		var code;
   		function sendMessage(){
   			var telCode=document.getElementById("recipientphone").value;
   			alert("已发送验证码,请查收,您的手机号为"+telCode);
   			sendVarifyCode.send(telCode,callback);
   		}
   		function callback(data){
   			//alert(data);
   			code=data;
   		}

这里的调用出问题了,看到有大佬是这么说的在这里插入图片描述
可是我的文件里面有引用外部jar包,没有办法拿出去编译嘤
在这里插入图片描述
运行就是这样,害,等我改出来我再过来改

哈哈哈哈这么快我就改完啦,是因为我使用的第三方短信服务的包没有导到web-inf的lib下,可是我明明导到项目的lib下了,害,不过出来就是好的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值