
标尺包括水平标尺和垂直标尺,用于显示Word2007文档的页边距、段落缩进、制表符等,如
2网格
网格线能够帮助用户将Word2007文档中的图形、图像、文本框、艺术字等对象沿网格线对齐,并且在打印时网格线不被打印出来,如图3所示。
图3 Word2007文档窗口网格线
文档结构图主要用于显示Word2007文档的标题大纲,用户可以单击文档结构图中的标题可以展开或收缩下一级标题,并且可以快速定位到标题对应的正文内容我给你提供一个我在项目里面实际使用的代码
这是我基于一个网上的代码自己修改封装过来的
你可以参考一下
/
@author Sglee
/
public class SimpleMail {
private static String encode = null;
static {
if ("\\"equals(Fileseparator)) {
encode = "GBK";
} else {
encode = "UTF-8";
}
}
/
以文本格式发送邮件
@param mailInfo
@return
/
public static boolean sendTextMail(MailInfo mailInfo) {
for (int i = 0; i < 3; i++) {
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
Properties properties = mailInfogetProperties();
if (mailInfoisValidate()) {
// 如果需要身份认证,则创建一个密码验证器
authenticator = new MyAuthenticator(mailInfogetUsername(),
mailInfogetPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = SessiongetDefaultInstance(properties,
authenticator);
if (mailInfoisDebug()) {
sendMailSessionsetDebug(true);
}
try {
Message mailMessage = new MimeMessage(sendMailSession);// 根据session创建一个邮件消息
Address from = new InternetAddress(mailInfogetFromAddress());// 创建邮件发送者地址
mailMessagesetFrom(from);// 设置邮件消息的发送者
// Address to = new InternetAddress(mailInfogetToAddress());//
// 创建邮件的接收者地址
// mailMessagesetRecipient(MessageRecipientTypeTO, to);//
// 设置邮件消息的接收者
mailMessagesetRecipients(MessageRecipientTypeTO,
wrapAddress(mailInfogetToAddress()));
// InternetAddress ms = new
// InternetAddress(mailInfogetMsAddress());
// mailMessagesetRecipient(MessageRecipientTypeBCC, ms); //
// 密送人
mailMessagesetRecipients(MessageRecipientTypeBCC,
wrapAddress(mailInfogetMsAddress()));
mailMessagesetSubject(mailInfogetSubject());// 设置邮件消息的主题
mailMessagesetSentDate(new Date());// 设置邮件消息发送的时间
// mailMessagesetText(mailInfogetContent());//设置邮件消息的主要内容
// MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();// 创建一个包含附件内容的MimeBodyPart
// 设置HTML内容
messageBodyPartsetContent(mailInfogetContent(),
"text/html; charset=" + encode);
mainPartaddBodyPart(messageBodyPart);
// 存在附件
String[] filePaths = mailInfogetAttachFileNames();
if (filePaths != null && filePathslength > 0) {
for (String filePath : filePaths) {
messageBodyPart = new MimeBodyPart();
File file = new File(filePath);
if (fileexists()) {// 附件存在磁盘中
FileDataSource fds = new FileDataSource(file);// 得到数据源
messageBodyPart
setDataHandler(new DataHandler(fds));// 得到附件本身并至入BodyPart
messageBodyPartsetFileName("=" + encode + "B"
+ filegetName());// 得到文件名同样至入BodyPart
mainPartaddBodyPart(messageBodyPart);
}
}
}
// 将MimeMultipart对象设置为邮件内容
mailMessagesetContent(mainPart);
Transportsend(mailMessage);// 发送邮件
return true;
} catch (Exception e) {
eprintStackTrace();
try {
javautilconcurrentTimeUnitSECONDSsleep(5);
} catch (Exception e2) {
e2printStackTrace();
}
}
}
return false;
}
/
将string[]包装成EmailAddress
@param mailInfo
@return
@throws AddressException
/
private static Address [] wrapAddress(String[] adds) throws AddressException {
// String[] adds = mailInfogetToAddress();
if(adds == null || addslength == 0){
return null;
}
Address []to = new Address[addslength];
for(int i = 0;i<addslength;i++){
to[i]=new InternetAddress(adds[i]);
}
return to;
}
/
以HTML格式发送邮件
@param mailInfo
@return
/
public static boolean sendHtmlMail(MailInfo mailInfo) {
for (int i = 0; i < 3; i++) {
// 判断是否需要身份认证
MyAuthenticator authenticator = null;
Properties properties = mailInfogetProperties();
if (mailInfoisValidate()) {
// 如果需要身份认证,则创建一个密码验证器
authenticator = new MyAuthenticator(mailInfogetUsername(),
mailInfogetPassword());
}
// 根据邮件会话属性和密码验证器构造一个发送邮件的session
Session sendMailSession = SessiongetDefaultInstance(properties,
authenticator);
if (mailInfoisDebug()) {
sendMailSessionsetDebug(true);
}
try {
Message mailMessage = new MimeMessage(sendMailSession);// 根据session创建一个邮件消息
Address from = new InternetAddress(mailInfogetFromAddress());// 创建邮件发送者地址
mailMessagesetFrom(from);// 设置邮件消息的发送者
// Address to = new InternetAddress(mailInfogetToAddress());//
// 创建邮件的接收者地址
// mailMessagesetRecipient(MessageRecipientTypeTO, to);//
// 设置邮件消息的接收者
mailMessagesetRecipients(MessageRecipientTypeTO,
wrapAddress(mailInfogetToAddress()));
// InternetAddress ms = new
// InternetAddress(mailInfogetMsAddress());
// mailMessagesetRecipient(MessageRecipientTypeBCC, ms); //
// 密送人
mailMessagesetRecipients(MessageRecipientTypeBCC,
wrapAddress(mailInfogetMsAddress()));
mailMessagesetSubject(mailInfogetSubject());// 设置邮件消息的主题
mailMessagesetSentDate(new Date());// 设置邮件消息发送的时间
// MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();// 创建一个包含HTML内容的MimeBodyPart
// 设置HTML内容
messageBodyPartsetContent(mailInfogetContent(),
"text/html; charset=" + encode);
mainPartaddBodyPart(messageBodyPart);
// 存在附件
String[] filePaths = mailInfogetAttachFileNames();
if (filePaths != null && filePathslength > 0) {
sunmiscBASE64Encoder enc = new sunmiscBASE64Encoder();
for (String filePath : filePaths) {
messageBodyPart = new MimeBodyPart();
File file = new File(filePath);
if (fileexists()) {// 附件存在磁盘中
FileDataSource fds = new FileDataSource(file);// 得到数据源
messageBodyPart
setDataHandler(new DataHandler(fds));// 得到附件本身并至入BodyPart
messageBodyPartsetFileName("=" + encode + "B"
+ encencode(EmailFileNameConvertchangeFileName(filegetName())getBytes())
+ "=");// 得到文件名同样至入BodyPart
mainPartaddBodyPart(messageBodyPart);
}
}
}
// 将MimeMultipart对象设置为邮件内容
mailMessagesetContent(mainPart);
Transportsend(mailMessage);// 发送邮件
return true;
} catch (Exception e) {
eprintStackTrace();
try {
javautilconcurrentTimeUnitSECONDSsleep(5);
} catch (Exception e2) {
e2printStackTrace();
}
}
}
return false;
}
}
/
封装邮件的基本信息
@author Sglee
/
public class MailInfo implements Serializable{
/
/
private static final long serialVersionUID = -3937199642590071261L;
private String mailServerHost;// 服务器ip
private String mailServerPort;// 端口
private long timeout;// 超时时间
private String fromAddress;// 发送者的邮件地址
private String[] toAddress;// 邮件接收者地址
private String[] msAddress;// 密送地址
private String username;// 登录邮件发送服务器的用户名
private String password;// 登录邮件发送服务器的密码
private boolean validate = false;// 是否需要身份验证
private String subject;// 邮件主题
private String content;// 邮件内容
private String[] attachFileNames;// 附件的文件地址
private boolean debug;// 调试模式
public Properties getProperties() {
Properties p = new Properties();
pput("mailsmtphost", thismailServerHost);
pput("mailsmtpport", thismailServerPort);
pput("mailsmtpauth", validate "true" : "false");
pput("mailsmtptimeout", thistimeout);
return p;
}
public String getMailServerHost() {
return mailServerHost;
}
public void setMailServerHost(String mailServerHost) {
thismailServerHost = mailServerHost;
}
public String getMailServerPort() {
return mailServerPort;
}
public void setMailServerPort(String mailServerPort) {
thismailServerPort = mailServerPort;
}
public String getFromAddress() {
return fromAddress;
}
public void setFromAddress(String fromAddress) {
thisfromAddress = fromAddress;
}
public String[] getToAddress() {
return toAddress;
}
public void setToAddress(String[] toAddress) {
thistoAddress = toAddress;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
thisusername = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
thispassword = password;
}
public boolean isValidate() {
return validate;
}
public void setValidate(boolean validate) {
thisvalidate = validate;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
thissubject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
thiscontent = content;
}
public String[] getAttachFileNames() {
return attachFileNames;
}
public void setAttachFileNames(String[] attachFileNames) {
thisattachFileNames = attachFileNames;
}
public void setMsAddress(String[] msAddress) {
thismsAddress = msAddress;
}
public String[] getMsAddress() {
return msAddress;
}
public void setDebug(boolean debug) {
thisdebug = debug;
}
public boolean isDebug() {
return debug;
}
public void setTimeout(long timeout) {
thistimeout = timeout;
}
public long getTimeout() {
return timeout;
}
}
public class MyAuthenticator extends Authenticator {
private String username = null;
private String password = null;
public MyAuthenticator() {
};
public MyAuthenticator(String username, String password) {
thisusername = username;
thispassword = password;
}
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
}
注意一下:
Myeclipse自带的JavaEE5jar和java mail会发生冲突
找到ME下的javeee包
D:\MyEclipse 85\Common\plugins\comgenuitececlipsej2eedtcore_850me201003231033\data\libraryset\EE_5\javaeejar
用rar等解压工具解开javaeejar,删除里面的javax\mail文件夹(可以先备份javaeejar)
也即,以后都不能使用javaeejar里面的邮件api发送邮件了
web开发,是开发服务端的,开发好的web程序,打包成war,然后放到web容器中运行,而web容器,是部署在服务器中的。
web的客户端就是浏览器,教你设计页面,学CSS/HTML之类的。
标准的web服务器只具有与客户端浏览器通讯的功能,不能处理业务逻辑请求。
需要编写程序来复制处理客户端的请求。通过组件来处理客户端的请求,这个组件就是实现特定规范的可以单独部署的软件模块。组件必须通过容器来实现。容器是实现特定规范的程序,负责组件的运行环境和管理组件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解为tomcat,并且tomcat中运行着你编写的程序,这个程序称为web应用。
java服务器开发就是通过java语言来编写程序,组合成web应用,将来部署到tomcat中,
编写的这些程序就是组件,用来处理客户端请求的。为了高效还会使用一些框架和技术来配合java程序,比如SpringMVC,struts2,Servlet。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)