导入jar包

在java文档中调用html html 调用java class 文件_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>
  • 写一个java类,这里写的是一个发送短信验证码的类可以看这里
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;
   		}

这里的调用出问题了,看到有大佬是这么说的

在java文档中调用html html 调用java class 文件_验证码_02


可是我的文件里面有引用外部jar包,没有办法拿出去编译嘤

在java文档中调用html html 调用java class 文件_System_03


运行就是这样,害,等我改出来我再过来改哈哈哈哈这么快我就改完啦,是因为我使用的第三方短信服务的包没有导到web-inf的lib下,可是我明明导到项目的lib下了,害,不过出来就是好的

在java文档中调用html html 调用java class 文件_jar包_04