与阿根廷一起学习Java Web四个发展:对于信息传输和信息传输
发送短信和通用身份验证和用户注册系统消息提示功能模块,但是实现代码过于复杂。使用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四个发展:对于信息传输和信息传输的更多相关文章
- 零基础如何系统学习Java Web
零基础如何系统学习Java Web? 我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...
- 疯狂学习java web
因工作需要,疯狂学习java web,只是这么多年一直从事C++开发,突然之间要接手同事的那么一大堆代码,真有无从下手的感觉,首先是要学习html,然后是js, 然后是jsp,当然还有各种框架,想想就 ...
- java web(四)文件上传与下载
一.文件上传原理 1.在TCP/IP中,最早出现的文件上传机制是FTP ,它是将文件由客户端发送到服务器的标准机制:但是在jsp使用过程中不能使用FTP方法上传文件,这是由jsp运行机制所决定. 通 ...
- 学习Java Web开发
学习DreamWaveMX中文版的网页设计技术 HTML网页设计,这是最基本的.学习XML的一些基本知识.初步掌握一些JSCRIPT的应用. 学习JAVA语言. 这应该分成2次来进行: 第1次找一本国 ...
- 根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程
在和不少比较上进的初级程序员打交道的过程中,我们总结出了一些能帮到合格程序员尽快进阶的经验,从总体上来讲,多学.多实践不吃亏.本文来是从 java web轻量级开发面试教程从摘录的. 1 哪些知识点 ...
- 第三周学习java第四章学习总结及体会!
第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载 ...
- 系统学习 Java IO (四)----文件的读写和随机访问 FileInputStream/FileOutputStream & RandomAccessFile
目录:系统学习 Java IO---- 目录,概览 文件输入流 FileInputStream 这是一个简单的FileInputStream示例: InputStream input = new Fi ...
- java web(四):request、response一些用法和文件的上传和下载
上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...
- Java Web(四) 过滤器Filter
Filter概述 Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改.Filter提出了过滤链的概念.一个FilterChain包括多个Filter. ...
随机推荐
- SVN的log,cat,list,diff的使用
svn log 展示给你主要信息:每个版本附加在版本上的作者与日期信息和所有路径修改. svn diff 显示特定修改的行级详细信息. svn cat ...
- httpcomponents-client-4.4.x
Chapter 1. Fundamentals Prev Next Chapter 1. Fundamentals 1.1. Request execution The most essent ...
- 参数化测试--sheet表的应用
自动化测试对录制和编辑好的测试步骤进行回放,这种是线性的自动化测试方式,其缺点是明显的,就是其测试覆盖面比较低.测试回放的只是录制时做出的界面操作,以及输入的测试数据,或者是脚本编辑时指定的界面操作和 ...
- ZOJ Problem Set - 3829Known Notation(贪心)
ZOJ Problem Set - 3829Known Notation(贪心) 题目链接 题目大意:给你一个后缀表达式(仅仅有数字和符号),可是这个后缀表达式的空格不幸丢失,如今给你一个这种后缀表达 ...
- Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
1.错误叙述性说明 2014-7-10 23:12:23 org.apache.catalina.core.StandardContext filterStart 严重: Exception star ...
- Java乔晓松-android中获取图片的缩略图(解决OutOfMemoryError)内存溢出的Bug
由于android获取图片过大是会出现内存溢出的Bug 07-02 05:10:13.792: E/AndroidRuntime(6016): java.lang.OutOfMemoryError 解 ...
- windbg更改cmd的token提升其特权
采用windbg 调试xp. 执行cmd.whoami检查权限如下面: 以下要做的就是把cmd.exe 的token值用system的token替换. 1. Ctrl + break ,windbg ...
- poj 2288 Islands and Bridges
题意: 给你一个双向连通图,求 获得权值最大 的 哈密顿通路的 权值 和 这个权值对应的数目: 其中权值计算方法是 列如 ABCD 权值是a+b+c+d+ab+bc+cd 如果 A,B,C 和B ...
- Amazon SQS简单介绍 上篇
SQS即Simple Queue Service, 是一个分布式的消息队列服务,使用它很easy,消息队列服务能够用来buffer burst, 使整个服务异步处理,不要求组件始终可用. 开发者最初使 ...
- 【JUnit4.10来源分析】6 Runner
org.junit.runner.Runner它是JUnit作业引擎.它在许多类型的支持下的.处理试验和生产(Description).Failure和Result和其它输出. Runner参见图主类 ...