发送短信和通用身份验证和用户注册系统消息提示功能模块,但是实现代码过于复杂。使用JSPGen后,深深发送消息、SMS程序包使复杂的简单非常活跃。

在短信模块:支持两种模式,它们被发送到第三方、地方平台发送,方式(採用本地平台发送时无需进行配置,依据短信发送接口文件重写相应实现类就可以)。

一、基础配置

jspgen-config.xml

在框架基础配置文件里,找到mail节点及sms节点,按例如以下配置:

    <!-- 邮件服务 -->
<mail status="true">
<smtp>
<!-- 发送类型(SMTP MX) -->
<type>SMTP</type>
<server>smtp.163.com</server>
<port>25</port>
<email>jspgen@163.com</email>
<name>JSPGen官网</name>
<username>jspgen</username>
<password>jspgen</password>
<!-- 内容格式(text html url) -->
<format>html</format>
<!-- 内容签名 -->
<sign>JSPGen-让Java(Web)软件开发变得更敏捷! www.JSPGen.com</sign>
</smtp>
</mail> <!-- 短信服务(http) -->
<sms status="true">
<!-- 提交地址及方式(GET POST) -->
<url>发送地址</url>
<method>GET</method>
<charset>UTF-8</charset>
<username>
<key>name</key>
<value>jspgen</value>
</username>
<password>
<key>password</key>
<value>jspgen</value>
</password>
<!-- 是否支持批量发送 -->
<mobile batch="false">
<key>mobile</key>
<gap>;</gap>
</mobile>
<content>
<key>msg</key>
</content>
<time>
<key>dtime</key>
<!-- 时间格式,为空则为Long型时间戳 -->
<format>yyyy-MM-dd HH:mm:ss</format>
</time>
<!-- 返回数据 -->
<return>
<!-- 返回格式(text xml json) -->
<format>text</format>
<!-- 返回keyword。格式为xml/json时实用 -->
<key>status</key>
<!-- 返回成功标识 -->
<value>0</value>
</return>
<!-- 内容签名 -->
<sign>【JSPGen】</sign>
</sms>

二、代码实现

1、SendAction.java

package demo.action;
import grapes.Dates;
import grapes.Files;
import grapes.Grapes;
import grapes.tools.Browser; import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import jspgen.action.Action; /**
* Action类:邮件发送与短信发送
*
* @author JSPGen
* @copyright (c) JSPGen.com
* @created 2013年03月
* @email jspgen@163.com
* @address www.jspgen.com
*/
public class SendAction extends Action {
/**
* 默认方法
*/
@Override
public String execute() {
return "mail";
} /**
* 发送邮件提交
*/
public String mail () {
boolean isflag = false;
Long time = Dates.getTimeMillis();
String to = getParameter("to"); // 接收表单值(表单名称:to)
isflag = sendMail(to, getParameter("subject"), getParameter("content"), time); // 发送中
if(!isflag){
addActionError("发送失败!");
return ERROR;
}
addActionMessage("发送成功!");
return SUCCESS;
} /**
* 发送短信提交
*/
public String sms() {
boolean isflag = false;
Long time = Dates.getTimeMillis();
String to = getParameter("to"); // 接收表单值(表单名称:to)
isflag = sendSMS (to, getParameter("content"), time); // 发送中
if(!isflag){
addActionError("发送失败!");
return ERROR;
}
addActionMessage("发送成功!");
return SUCCESS;
}
}

2、mail.html 入口页面模板

<!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>邮件</title>
</head>
<body>
<h2>邮件发送</h2>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<form action="send!mail.gen" method="post" name="form" id="form">
<tr>
<td width="135" height="35" align="right" bgcolor="#FFFFFF">收件地址:</td>
<td width="362" bgcolor="#FFFFFF"><input type="text" name="to" /></td>
</tr>
<tr>
<td width="135" height="35" align="right" bgcolor="#FFFFFF">信件主题:</td>
<td width="362" bgcolor="#FFFFFF"><input type="text" name="subject" /></td>
</tr>
<tr>
<td width="135" height="93" align="right" valign="middle" bgcolor="#FFFFFF">信件内容:</td>
<td width="362" valign="middle" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5"></textarea></td>
</tr>
<tr>
<td height="50" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF">
<input name="redirectUrl" type="hidden" id="redirectUrl" value="send.gen" />
<input type="submit" name="button" id="button" value="发送" />
              
<input type="reset" name="button2" id="button2" value="重置" /></td>
</tr>
</form>
</table>
<h2>短信发送</h2>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<form action="send!sms.gen" method="post" name="form2" id="form2">
<tr>
<td width="135" height="35" align="right" bgcolor="#FFFFFF">手机号码:</td>
<td width="362" bgcolor="#FFFFFF"><input name="to" type="text" id="to" /></td>
</tr>
<tr>
<td width="135" height="93" align="right" valign="middle" bgcolor="#FFFFFF">短信内容:</td>
<td width="362" valign="middle" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5" id="content"></textarea></td>
</tr>
<tr>
<td height="50" colspan="2" align="center" valign="middle" bgcolor="#FFFFFF"><input name="redirectUrl" type="hidden" id="redirectUrl" value="send.gen" />
<input type="submit" name="button3" id="button3" value="发送" />
              
<input type="reset" name="button3" id="button4" value="重置" /></td>
</tr>
</form>
</table>
</body>
</html>

三、測试

浏览器中直接输入:http://localhost:8080/jspgensdf/send.gen

注意:163刚注冊的账号无法发送,好像须要过两个月后才干够使用,能够自行搭建一个邮件服务环境,进行測试。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

与阿根廷一起学习Java Web四个发展:对于信息传输和信息传输的更多相关文章

  1. 零基础如何系统学习Java Web

    零基础如何系统学习Java Web?   我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...

  2. 疯狂学习java web

    因工作需要,疯狂学习java web,只是这么多年一直从事C++开发,突然之间要接手同事的那么一大堆代码,真有无从下手的感觉,首先是要学习html,然后是js, 然后是jsp,当然还有各种框架,想想就 ...

  3. java web(四)文件上传与下载

     一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...

  4. 学习Java Web开发

    学习DreamWaveMX中文版的网页设计技术 HTML网页设计,这是最基本的.学习XML的一些基本知识.初步掌握一些JSCRIPT的应用. 学习JAVA语言. 这应该分成2次来进行: 第1次找一本国 ...

  5. 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程

    在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1  哪些知识点 ...

  6. 第三周学习java第四章学习总结及体会!

    第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...

  7. 系统学习 Java IO (四)----文件的读写和随机访问 FileInputStream/FileOutputStream & RandomAccessFile

    目录:系统学习 Java IO---- 目录,概览 文件输入流 FileInputStream 这是一个简单的FileInputStream示例: InputStream input = new Fi ...

  8. java web(四):request、response一些用法和文件的上传和下载

    上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...

  9. Java Web(四) 过滤器Filter

    Filter概述 Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改.Filter提出了过滤链的概念.一个FilterChain包括多个Filter. ...

随机推荐

  1. PHP草根论之设计模式-訪问者模式

    关于模式本身的概念,请參考网上其他文章 此处仅仅讨论在PHP实际开发过程中的应用 此模式适用范围极为受限,适用情景: 1.适用于项目维护过程,不适用于项目开发过程 2.新增需求,要求为一个/多个类添加 ...

  2. Javascript Base64编码与解码

    原文:[转]Javascript Base64编码与解码 <html> <head> <META HTTP-EQUIV="MSThemeCompatible&q ...

  3. C# webservice初探

    转载请注明出处Coder的不平庸:http://blog.csdn.net/pearyangyang/article/details/46348633 因为工作的终端曾经是直接对数据库进行操作,导致每 ...

  4. mongodb之java CRUD 简单操作

    我下载的是 mongo-2.8.0.jar — Version 2.8.0 打开mongo shell -- 新建数据库test --( use test) 打开eclipse新建工程,把junit, ...

  5. 九度 题目1044:Pre-Post

    转载请注明本文链接http://blog.csdn.net/yangnanhai93/article/details/40658571 题目链接:pid=1044">http://ac ...

  6. HDU 1201

    18岁生日 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. spring html5 拖拽上传多文件

    注:这仅仅是一个粗略笔记.有些代码可能没用.兴许会再更新一个能够使用的版本号.不足之处,敬请见谅. 1.spring环境搭建,这里使用的是spring3的jar,须要同一时候引入common-IO 和 ...

  8. PocketSphinx语音识别系统语言模型的训练和声学模型的改进

    PocketSphinx语音识别系统语言模型的训练和声学模型的改进 zouxy09@qq.com http://blog.csdn.net/zouxy09 关于语音识别的基础知识和sphinx的知识, ...

  9. js多个物体运动问题2

    问题1 http://www.cnblogs.com/huaci/p/3854216.html 在上一讲问题1,我们可以整理出2点: 1,定时器作为运动物体的属性 2,startMove方法,参数要传 ...

  10. myEclipse勿删文件怎么恢复

    今天码代码的时候项目里有一个jsp文件不小心被删了,又懒得重写,然后发现myEclipse竟然可以恢复被勿删的文件,当然,也仅仅限于最近被删的文件. 具体怎么恢复呢?-------右键点击被删文件所在 ...