发送邮件时,我收到此错误
java.lang.RuntimeException:javax.mail.SendFailedException:发送失败; 嵌套异常是:class javax.mail.MessagingException:无法连接到SMTP主机:smtp.gmail.com,port:465,响应:-1
我的代码是:
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("email","password");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("email"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(this.to));
message.setSubject("Testing");
message.setText("Hey, this is the testing email.");
Transport.send(message);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
提前致谢.
我有一个关于struts2值栈的问题.假设我有一个Action类RegisterAction,它有一个execute方法,如下所示:
public String execute() {
ValueStack stack = ActionContext.getContext().getValueStack();
stack.push(new String("test string"));
return SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
我的struts.xml看起来像这样:
<struts>
<package name="default" extends="struts-default">
<action name="*Register" method="{1}" class="vaannila.RegisterAction">
<result name="populate">/register.jsp</result>
<result name="input">/register.jsp</result>
<result name="success">/success.jsp</result>
</action>
<action name="*Test" method="{1}" class="vaannila.TestAction">
<result name="test">/test.jsp</result>
<result name="success">/success2.jsp</result>
</action>
</package>
</struts>
Run Code Online (Sandbox Code Playgroud)
因此,在该类中执行execute方法后,控制将流向success.jsp.
我的问题是:
1)如何获得我在堆栈中推送的值success.jsp?
2)让我们说success.jsp我有一个<s:submit method="testMethod" />重定向到一个名为的动作类TestAction.换句话说,从Register页面,用户单击submit,并在我们的执行方法中RegisterAction推送堆栈上的"测试字符串".然后我们去success.jsp.该success.jsp有一个提交按钮,指导我们TestAction#testMethod.在TestAction#testMethod,我RegisterAction#execute仍然在堆栈上推送的值是什么?我怎么才能得到它?我逐步完成了eclipse调试器,但我没有看到它的价值.
谢谢.
使用Struts2,我们必须struts.xml在类路径中,因此它不再适用于WEB-INF.所以我让我的项目部署的方式是坚持下去WEB-INF/classes并让它包括在内../struts2.xml
2个问题:
struts.xmlStruts2 Eclipse开发人员如何做到这一点?
我是java的新手.我有一个混乱,使用解释器来执行java程序,因为我可以看到bin文件夹中的两个java.exe和jre的bin文件夹中的其他内容.
等待专家的宝贵答案!
我想添加一些细节来清除我的查询:
假设java安装在C:\ Program Files\Java\Jdk1.6中,现在,在这个目录中还有jre文件夹,bin文件夹和其他文件夹,但让我们专注于这两个.这个..\jre\bin文件夹包含java.exe&..\bin文件夹还包含java.exe所以,我关心的是用哪个java解释器来执行java程序.
我希望这能帮助你更好地理解我的问题
标题说明了一切.
我想知道@XmlElement在字段/ getter/setter上放置JAXB注释(如)之间的主要区别是什么.在我看来(在简单的情况下)它并不重要.
我们拿这个吧
class A {
private String a;
public String getA() { return a; }
public void setA(String a) { this.a = a; }
}
Run Code Online (Sandbox Code Playgroud)
现在在我看来,如果我放置@XmlElement成员字段或getter/setter 并不重要.它只是编组好的.当我需要做出改变并且什么时候重要时,是否有任何用例?
当我去解组这个(xml回到A)JAXB具体做什么?
我正在使用JAXB MOXy实现
谢谢
在Centos上,我的脚本运行正常.但是当我运行脚本时,在Debian Squeeze上,我得到了:
cpfailover.sh: 30: Bad substitution
Run Code Online (Sandbox Code Playgroud)
脚本说:
SCRIPT_PATH="${BASH_SOURCE[0]}";
Run Code Online (Sandbox Code Playgroud)
我在许多例子中看到过,即使在这里,这是正确的行号.问题出在哪儿.
是否有一个函数来交换给定地图的键和值.因此,给定一个地图,我希望键成为值,并为键值.
(swap {:a 2 b 4}) => {2 :a 4 :b}
Run Code Online (Sandbox Code Playgroud)
一种方法是
(zipmap (vals my-map) (keys my-map))
Run Code Online (Sandbox Code Playgroud)
但是想知道clojure是否为此提供了实用程序fn?
我正在使用Vaadin文本字段,我想限制它仅支持数字.我试图覆盖setValue()并返回而不调用super.setValue() 如果文本不是数字.但它似乎没有起作用.我怎么能纠正这个?我正在使用Vaadin 7.我认为它也不支持NumberField.
将有两个下拉列表,
首先是移动供应商列表,第二个是每个供应商的模型列表.
当从第一个下拉列表中选择供应商时,第二个下拉列表应该动态填充该供应商的相关模型.这适用于移动网站,最好使用jquery-mobile
第二个选项值将在json映射中.
<select class="mobile-vendor">
<option value="motorola">Motorola</option>
<option value="nokia">Nokia</option>
<option value="android">Android</option>
</select>
selectValues = {"nokia" : {"N97":"download-link",
"N93":"download-link"},
"motorola": {"M1":"download-link",
"M2":"download-link"}}
<select class="model">
<option></option>
</select>
Run Code Online (Sandbox Code Playgroud)
例如,如果用户在第一个下拉列表中选择nokia,则第二个下拉列表应该具有N97,N93作为选项.
我正在使用Gjs(Gnome JavaScript绑定)编写gtk +应用程序由于没有可用的文档,我正在阅读gnome-shell JavaScript的源代码.在我的应用程序中,我需要访问global.userdatadir.
我试图将Shell对象添加到我的脚本:
const Shell = imports.gi.Shell;
Run Code Online (Sandbox Code Playgroud)
然后运行它#gjs myscript.js
但是当我这样做时它会抛出一个错误说:
JS ERROR: !!! Exception was: Error: Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found
JS ERROR: !!! lineNumber = '0'
JS ERROR: !!! fileName = '"gjs_throw"'
JS ERROR: !!! stack = '"("Requiring Shell, version none: Typelib file for namespace 'Shell' (any version) not found")@gjs_throw:0
@manager.js:5
"'
JS ERROR: !!! message = '"Requiring Shell, version none: Typelib file for namespace 'Shell' …Run Code Online (Sandbox Code Playgroud) java ×5
struts2 ×2
bash ×1
clojure ×1
configure ×1
gmail ×1
gnome-shell ×1
javascript ×1
jaxb ×1
jquery ×1
marshalling ×1
smtp ×1
textfield ×1
vaadin ×1
valuestack ×1
variables ×1
xml ×1