session

Apusic上用JavaMail发邮件

折月煮酒 提交于 2020-03-06 13:35:38
Apusic上用JavaMail发邮件 0. JavaMail基本介绍 JavaMail是属于J2EE框架中的一部分,主要是为简化Mail部分开发工作。使用JavaMail发送邮件需要以下步骤: 1)初始化Session实例; 在初始化Session实例中有两种方式:使用JNDI初始化和在代码中自行完成初始化。 ★ 如果SMTP不需要认证,则不再做其他工作; ★ 如果SMTP需要认证,则确定在Session中提供嵌入认证信息,还是由3)Transport完成认证过程。 2)初始化Message实例,填充相关信息; 3)初始化Transport实例,连接到远程SMTP服务器,发送邮件。 在初始化Transport实例时也有两种情况: ★ 如果SMTP不需要认证,可以直接调用send()函数发送邮件,应用服务器会在后台调用connect()函数完成谁,进行邮件发送; ★ 如果SMTP需要认证,需要调用connect()函数,并提供认证需要的用户名/密码,才可以正确发送邮件。 1. javax.mail.Session的初始化 1.1. 使用JNDI初始化(配置JavaMail的JNDI) 在Apusic的J2EE应用中找到apusic-application.xml文件,增加<mail-session>部分,示例如下: <apusic-application> <module uri=

开发只懂 AFN ?搞定 NSURLSession 才是硬道理

空扰寡人 提交于 2020-03-06 10:46:29
由于傲娇的苹果在 iOS9 之后已经放弃了 NSURLConnection ,所以在现在的实际开发中,除了大家常见的 AFN 框架,一般使用的是 iOS7 之后推出的 NSURLSession,作为一名 iOS 开发人员,如果你只知道 AFN 框架来进行网络请求,那就只能说是 too young too simple,sometimes naive。 目录 本来想创建一个目录跳转的,好像简书不支持,只好作罢,有哪位大神知道怎么在简书支持目录跳转的,希望不吝赐教! NSURLSession 的优势 NSURLSessionTask 的子类 NSURLSessionDataTask 发送 GET 请求 NSURLSessionDataTask 发送 POST 请求 NSURLSessionDataTask 设置代理发送请求 设置代理之后的强引用问题 NSURLSessionDataTask 简单下载 NSURLSessionDownloadTask 简单下载 dataTask 和 downloadTask 下载对比 写在最后 NSURLSession 的优势 NSURLSession 支持 http2.0 协议 在处理下载任务的时候可以直接把数据下载到磁盘 支持后台下载|上传 同一个 session 发送多个请求,只需要建立一次连接(复用了TCP) 提供了全局的 session

一般安全机制

帅比萌擦擦* 提交于 2020-03-06 10:10:05
一般现实中,最简单的就是说暗号。 1.对于游客 所以系统中也可以用这种最简单的机制,客户端和服务端都设置一个暗号,只要对上了。就认为是合格者。 当然必须可以在服务端和客户端随时更新暗号。一般产生暗号需要一定时间,所以一般暗号ok,会生成一个值,如session等。下次直接对session。就等于暗号对上了。贴个牌子。 2,对于登录者 这个就不需要说了,上面的暗号是对一群人,而要验证单独者,暗号就必须唯一,就是我们的用户名和密码。 一般验证需要一定时间,所以一般验证ok,会生成一个值,如session等。下次直接对session。就等于验证对了。贴个牌子。 就是所谓的对称加密,有一个问题就是,暗号在传输中有可能会别窃听。也就是密钥会被窃取。 所以还有非对唱加密。 甲乙双方都有2吧密钥。公布公钥,方便别人发信息给自己。私钥自己保存,这样私有就不需要传输,保证了安全性。 1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。 2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。 3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。 在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。 同样,如果乙要回复加密信息给甲

jdbc调用存储过程的方法

*爱你&永不变心* 提交于 2020-03-06 05:42:01
----------------------------jdbc调用存储过程的方法--------------------------------------------------- private static Connection connection; //打开连接数据库 @SuppressWarnings("deprecation") public static void getComConn() { Session session = HibernateUtil.getSession(); connection = session.connection(); } Stirng lsql="{call cp_bill_checkzf_pre @bmguid='',@operguid='')}";//存储过程 getComConn(); prstcomm = connection.prepareStatement(lsql); rstcomm = prstcomm.executeQuery();//查询的方法(如果是更新就用executeUpdate) if (rstcomm == null) { return maps; } while (rstcomm.next() && rstcomm.getRow() > 0) { ResultSetMetaData

深入剖析Android音频之AudioTrack

痴心易碎 提交于 2020-03-06 02:46:17
播放声音能够用MediaPlayer和AudioTrack,两者都提供了java API供应用开发人员使用。尽管都能够播放声音。但两者还是有非常大的差别的。当中最大的差别是MediaPlayer能够播放多种格式的声音文件。比如MP3。AAC,WAV,OGG。MIDI等。 MediaPlayer会在framework层创建相应的音频解码器。而AudioTrack仅仅能播放已经解码的PCM流,假设是文件的话仅仅支持wav格式的音频文件,由于wav格式的音频文件大部分都是PCM流。AudioTrack不创建解码器。所以仅仅能播放不须要解码的wav文件。 当然两者之间还是有紧密的联系,MediaPlayer在framework层还是会创建AudioTrack,把解码后的PCM数流传递给AudioTrack。AudioTrack再传递给AudioFlinger进行混音,然后才传递给硬件播放,所以是MediaPlayer包括了AudioTrack。使用AudioTrack播放音乐演示样例: AudioTrack audio = new AudioTrack( AudioManager.STREAM_MUSIC, // 指定流的类型 32000, // 设置音频数据的採样率 32k,假设是44.1k就是44100 AudioFormat.CHANNEL_OUT_STEREO, //

Struts2动态方法调用

删除回忆录丶 提交于 2020-03-06 00:44:27
动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性 这种方式我们前面已经用到过,类似下面的配置就可以实现 <action name="chainAction" class="chapter2.action.Chapter2Action" method="chainAction"> <result name="chainAction" type="chain">redirect</result> </action> <action name="plainText" class="chapter2.action.Chapter2Action" method="plainText"> <result name="plainText" type="plainText">/WEB-INF/JspPage/chapter2/plaintext.jsp</result> </action> 第二种方式:感叹号方式(需要开启),官网不推荐使用这种方式,建议大家不要使用. 用这种方式需要先开启一个开关 <constant name="struts.enable.DynamicMethodInvocation" value="true" /> 将此常量设置为true,这种方式才能使用

ML激活函数使用法则

≡放荡痞女 提交于 2020-03-06 00:13:42
以下仅为自己的整理记录,绝大部分参考来源: 莫烦Python ,建议去看原博客 一、处理结构 因为TensorFlow是采用数据流图( data flow graphs )来计算, 所以首先我们得创建一个数据流流图, 然后再将我们的数据( 数据以张量(tensor)的形式存在 )放在数据流图中计算. 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组, 即张量(tensor). 训练模型时tensor会不断的从数据流图中的一个节点flow到另一节点, 这就是TensorFlow名字的由来. Tensor 张量意义 张量(Tensor) : 张量有多种. 零阶张量为 纯量或标量 (scalar) 也就是一个数值. 比如 [1] 一阶张量为 向量 (vector), 比如 一维的 [1, 2, 3] 二阶张量为 矩阵 (matrix), 比如 二维的 [[1, 2, 3],[4, 5, 6],[7, 8, 9]] 以此类推, 还有 三阶 三维的 … 二、使用Tensorflow创建一个线性回归的模型 创建数据 加载 tensorflow 和 numpy 两个模块, 并且使用 numpy 来创建我们的数据. import tensorflow as tf import numpy as np # create data x_data = np

Flask最强攻略 - 跟DragonFire学Flask - 第六篇 Flask 中内置的 Session

这一生的挚爱 提交于 2020-03-05 23:11:18
Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from flask import session app = Flask(__name__) app.secret_key = "DragonFire" secret_key 实际上是用来加密字符串的,如果在实例化的app中没有 secret_key 那么开启session一定会抛异常的 2. session 要这样用 @app.route("/login", methods=["GET", "POST"]) def login(): if request.method == "POST": if request.form["username"] == USER["username"] and request.form["password"] == USER["password"]: session["user"] = USER["username"] return redirect("/student_list") return render_template("login.html", msg="用户名密码错误") return render_template("login.html",

session url重写技术

怎甘沉沦 提交于 2020-03-05 16:25:57
服务器端获取Session对象依赖于客户端携带的Cookie中的JSESSIONID数据。如果用户把浏览器的隐私级别调到最高,这时浏览器是不会接受Cookie、这样导致永远在服务器端都拿不到的JSESSIONID信息。这样就导致服务器端的Session使用不了。 Java针对Cookie禁用,给出了解决方案,依然可以保证JSESSIONID的传输。 Java中给出了再所有的路径的后面拼接JSESSIONID信息。 1 在 Session1Servlet中,使用response.encodeURL(url) 对超链接路径拼接 session的唯一标识 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 @WebServlet ( "/sessionDemo5" ) public class SessionDemo5 extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpSession session = request.getSession();

Cookie和Session

丶灬走出姿态 提交于 2020-03-05 13:34:36
Cookie 将用户相关的信息保存在客户端 客户端每次访问服务器都会自动携带cookie的数据 Cookie cookie = new Cookie(name, value); response.addCookie(cookie); 什么是会话Cookie 保存在浏览器内中的属于会话cookie 特点:关闭浏览器的时候就会清楚cookie 什么是持久会话cookie 数据保存客户端硬盘上 通过setMaxAge 设置为持久 Cookie的有效路径 cookie.setPath(“/work”); 删除cookie cookie.setMaxAge(0); cookie.setPath(“/work”); response.addCookie(cookie); //request.getRequestDispatcher(“/pro.jsp”).forward();//转发 response.sendRedirect(“/work/pro.jsp”);//重定向 有效域名 访问sina的时候,设置cookie.setDomain(“.baidu.com”); 这是第三方cookie,是不安全的。一般浏览器都不接受。 访问sina时候,生成的cookie,cookie.setDomain(.sina.com.cn); 这个是第一方cookie ---------------------