当前位置: 首页 > news >正文

dw做网站学习解析珠海企业网站建设报价

dw做网站学习解析,珠海企业网站建设报价,python网页编程代码,wordpress标签tags页1、项目介绍 1#xff09;项目功能 用户管理#xff1a;分为管理员、和普通用户#xff0c;设置不同用户的权限 电话本信息管理#xff1a;支持管理员和普通用户对电话本的信息进行增删改操作#xff0c;模糊查询#xff08;根据姓名、地址、单位#xff09; 文件批…1、项目介绍 1项目功能 用户管理分为管理员、和普通用户设置不同用户的权限 电话本信息管理支持管理员和普通用户对电话本的信息进行增删改操作模糊查询根据姓名、地址、单位  文件批量导入支持管理员通过excel文件批量导入电话本信息  分页功能对电话本信息管理页面支持分页查看  电话本分组管理对电话本进行分组修改、移动、删除  邮件发送名片功能支持管理员根据电话本信息向用户发送邮件邮件内容为个人信息名片和附件  用户信息导出功能导出个人用户的用户信息word文档  2技术栈描述 前端 htmlthymeleafjquerycss 后端 Spring Boot Spring MVC MyBatis Plus 数据库 MySQL 其他技术 POI Excel 、word文件导入导出、JavaMail API邮件发送 2、邮件发送具体实现 1导入发送邮件需要的依赖 !-- 邮件发送--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId/dependency 2添加邮件配置的参数在application.yml配置文件中) mail:host: smtp.qq.com #qq邮件服务器地址 有其他地址username: xxxxxxxqq.com #发件人邮箱password: rwcafxsrjxfndfee #授权码default-encoding: UTF-8 #邮件登录字符集编码port: 25 #发件人邮件服务器端口 授权码的获取首先登录QQ邮箱登录成功后找到设置然后找到邮箱设置点击账户找到POP3|SMTP服务点击开启(开启需要验证验证成功后会有一串授权码用于发送邮件使用)验证成功 3创建邮件发送controller 以发送个人信息为例 AutowiredMailUtil mailUtil;/*** 邮件发送名片功能* param contactId* param userId* return*/RequestMapping(/sendEmailCard)public void sendEmailCard(Integer contactId, Integer userId){Contacts contacts this.contactsService.getById(contactId);Users user this.usersService.getById(contacts.getUserId());Integer gender0 contacts.getGender();String gender 男;if(gender01){gender女;}String email contacts.getEmail();String contenthtmlbodyh1个人名片/h1p姓名 user.getUsername()/pp单位 contacts.getCompany()/pp性别 gender/pp年龄 contacts.getAge()/pp办公电话 contacts.getOfficePhone()/pp传真 contacts.getFax()/pp手机号码 contacts.getMobile()/pp电子邮件 contacts.getEmail()/pp地址 contacts.getAddress()/pp备注 contacts.getRemarks()/p/body/html;String imgPath D:\\email\\个人信息表.docx;mailUtil.sendAttachmentsMail(email, 主题电话信息验证, content, imgPath);}4) 引入邮件发送工具包 package com.qcby.onlinephonebook.util;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Component;import javax.mail.MessagingException; import javax.mail.internet.MimeMessage; import java.io.File;/*** pp/** Author: porridge* Date:2022/3/30 10:17*/ Component public class MailUtil {Value(${spring.mail.username})String from;AutowiredJavaMailSender mailSender;//简单邮件public void sendSimpleMail(String to, String subject, String content){SimpleMailMessage message new SimpleMailMessage();message.setFrom(from); //发件人message.setTo(to);//收件人message.setSubject(subject); //标题message.setText(content); //文件内容try {mailSender.send(message);System.out.println(简单邮件发送成功);} catch (Exception e){System.out.println(发送简单邮件时发生异常e);}}//html格式邮件public void sendHtmlMail(String to, String subject, String content){MimeMessage message mailSender.createMimeMessage();try {//true表示需要创建一个multipart messageMimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content, true);mailSender.send(message);System.out.println(html邮件发送成功!);} catch (MessagingException e) {System.out.println(发送html邮件时发生异常e);}}//带附件的邮件public void sendAttachmentsMail(String to, String subject, String content, String filePath){MimeMessage message mailSender.createMimeMessage();try {MimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content, true);FileSystemResource file new FileSystemResource(new File(filePath));String fileName filePath.substring(filePath.lastIndexOf(File.separator));helper.addAttachment(fileName, file);mailSender.send(message);System.out.println(带附件的邮件已经发送。);} catch (MessagingException e) {System.out.println(发送带附件的邮件时发生异常 e);}}//带静态资源的邮件public void sendInlineResourceMail(String to, String subject, String content, String rscPath, String rscId){MimeMessage message mailSender.createMimeMessage();try {MimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content, true);FileSystemResource res new FileSystemResource(new File(rscPath));helper.addInline(rscId, res);mailSender.send(message);System.out.println(嵌入静态资源的邮件已经发送。);} catch (MessagingException e) {System.out.println(发送嵌入静态资源的邮件时发生异常 e);}} } 发送成功样例 3、word导出具体实现 1实现思路 ①组装数据 ②获取根目录创建模板文件 ③将模板文件写入到根目录 ④编译模板渲染数据 ⑤写入到指定目录位置临时文件 ⑥提供前端下载 ⑦删除临时文件 2导入word导出需要的依赖 !-- word导出--dependencygroupIdcom.deepoove/groupIdartifactIdpoi-tl/artifactIdversion1.10.0/version/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion4.1.2/version/dependencydependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion4.1.2/version/dependency 3在项目resource目录下创建word模板 word模板如下 根据需要{{}}里面写入需要写入的参数名 4创建word导出的controller /*** 个人信息word导出* param response*/RequestMapping(/exportWord)public void exportWord(Integer contactId, Integer userId, HttpServletResponse response) {Contacts contacts this.contactsService.getById(contactId);String gender 男;if(contacts.getGender()1){gender 女;}//1.组装数据MapString, Object params new HashMap();params.put(name,contacts.getName());params.put(company, contacts.getCompany());params.put(gender, gender);params.put(age, contacts.getAge());params.put(officePhone, contacts.getOfficePhone());params.put(fax, contacts.getFax());params.put(mobile, contacts.getMobile());params.put(email, contacts.getEmail());params.put(address, contacts.getAddress());params.put(remarks, contacts.getRemarks());//2.获取根目录创建模板文件String path copyTempFile(word/info.docx);String fileName System.currentTimeMillis() .docx;String tmpPath D:\\email\\ fileName;try {//3.将模板文件写入到根目录//4.编译模板渲染数据XWPFTemplate template XWPFTemplate.compile(path).render(params);//5.写入到指定目录位置FileOutputStream fos new FileOutputStream(tmpPath);template.write(fos);fos.flush();fos.close();template.close();//6.提供前端下载down(response, tmpPath, fileName);} catch (Exception e) {e.printStackTrace();} finally {//7.删除临时文件File file new File(tmpPath);file.delete();File copyFile new File(path);copyFile.delete();}}/*** 用于将文件下载到客户端* param response* param filePath 文件路径* param realFileName 文件名称*/private void down(HttpServletResponse response, String filePath, String realFileName) {String percentEncodedFileName null;try {percentEncodedFileName percentEncode(realFileName);} catch (UnsupportedEncodingException e) {throw new RuntimeException(e);}StringBuilder contentDispositionValue new StringBuilder();contentDispositionValue.append(attachment; filename).append(percentEncodedFileName).append(;).append(filename*).append(utf-8).append(percentEncodedFileName);response.addHeader(Access-Control-Allow-Origin, *);response.addHeader(Access-Control-Expose-Headers, Content-Disposition,download-filename);response.setHeader(Content-disposition, contentDispositionValue.toString());response.setHeader(download-filename, percentEncodedFileName);try (BufferedInputStream bis new BufferedInputStream(new FileInputStream(filePath));// 输出流BufferedOutputStream bos new BufferedOutputStream(response.getOutputStream());) {byte[] buff new byte[1024];int len 0;while ((len bis.read(buff)) 0) {bos.write(buff, 0, len);}} catch (Exception e) {e.printStackTrace();}}/*** 百分号编码工具方法* param s 需要百分号编码的字符串* return 百分号编码后的字符串*/public static String percentEncode(String s) throws UnsupportedEncodingException {String encode URLEncoder.encode(s, StandardCharsets.UTF_8.toString());return encode.replaceAll(\\, %20);}/*** 复制模板文件用于写入得到临时路径* param s 模板文件的路径* return*/private String copyTempFile(String s) {InputStream inputStream getClass().getClassLoader().getResourceAsStream(s);String tempFileName System.getProperty(user.home) / info.docx;File tempFile new File(tempFileName);try {FileUtils.copyInputStreamToFile(inputStream, tempFile);} catch (IOException e) {throw new RuntimeException(e);}return tempFile.getPath();}导出成功样例
http://www.dnsts.com.cn/news/242716.html

相关文章:

  • 手机小游戏网站在线数据分析网站
  • 网站建设服务费怎么记账做收款二维码的网站
  • 做网站需要什么内容提高网站知名度
  • p2f网站系统规模以上工业企业数量
  • html5网站开发技术天猫网站建设基本情况
  • 大连网站建设咨询设计欣赏网站
  • 中国2022年企业500强一览表企业网站优化找哪家
  • 家具品牌网站怎么做网页设计html代码翻译
  • 行业网站运营计划杭州的网站建设公司哪家好
  • 手机网站建设广州天津网站建设模板
  • 龙华高端网站设计网店运营推广初级实训系统答案
  • 化州市建设局网站网站源代码免费下载
  • 抖音制作视频的软件seo深度优化外包
  • 电子商务的网站建设建设网站的公司排名
  • 如何建设百度网站如何建设彩票私人网站
  • 个人网站设计文字内容模板上海网站公
  • 网站开发 简历做网站编辑好还是新媒体编辑
  • 南昌网站建设南昌吊车出租c2c电商网站有哪些
  • 下载微信公众号中山seo网站优化公司
  • wordpress 搬家到本地东莞网站排名优化价格
  • 电子商务网站开发技术和工具有哪些网站优化推广seo公司
  • 仙桃企业网站建设crm客户管理系统简介
  • 手机网站全屏显示集团为什么做网站
  • 可以转app的网站怎么做wordpress手动清楚插件
  • 方案案例网站wordpress网建公司模板
  • 怎样查找网站域名归属企业网站一年多少钱
  • 中山建设厅网站怎样进行站点优化
  • 互联网网站建设营销网站建设氵金手指专业
  • 成都网站制作推来客网站系统好吗中山网站方案
  • 后台网站地图潢川城乡建设局网站