SSM框架学习-SpringBoot和SpringMVC

springBoot

端口号设置
在application.properties里面写:server.port=8080
每个设置的端口号只能debug(运行)一次,没有关闭进行再次运行会出现端口号被占用,无法使用

项目例子
发邮件
使用mail框架和spring web框架
设置qq邮件服务器:进入qq邮箱,设置–账户–开启pop3、smtp服务;查看邮箱授权码–生成邮箱授权码
代码:
创建项目:
①在https://start.spring.io创建springboot01_mail–添加mail和web依赖
②eclipse中导入刚刚生成的springboot01_mail项目
③配置服务器–设置application.properties,设置username=邮箱;password=授权码
④创建controller包,设置收件人、标题、正文
⑤浏览器中测试,以debug方式启动,进入浏览器地址,在进行邮箱的查看
⑥发送异常信息;先转换成字符串,然后字符串发送到邮箱。

package com.tedu.springboot02_mail.controller;

import java.io.PipedWriter;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//controller
//MVC 	view(jsp)-->controller(servlet)-->model(service+dao)
//controller包是MVC里面的controller
//controller就是servlet,controller不用注册,不用写xml格式
//框架是标准,
@RestController
//注解
public class MailController {
	//连接mysql,要connection,一起需要对象时,用new或者调用一个方法得到对象
	@Autowired//由框架给JavaMailSender赋值,不用new
	JavaMailSender javaMailSender;
	//发邮件的方法
	private void  sendMail(String title,String text) {
		//创建一个邮件,对象,发送人,收件人,标题,正文,发送
		SimpleMailMessage mailMessage=new SimpleMailMessage();
		mailMessage.setTo("1@qq.com");
		mailMessage.setFrom("1@qq.com");
		mailMessage.setSubject(title);
		mailMessage.setText(text);
		javaMailSender.send(mailMessage);
	}
	//发送文本
	//requestmapping
	@RequestMapping("/send1")
	public String send1() {
		//找到application,以debug方式启动,邮件debug as-->java spplication
		//控制台显示:tomcat  started  on port 8080
		//在send里面输入hosthost:8080/send1
		//send1()执行,F8
		//进qq邮箱,查看邮件
		sendMail("你好", "要开心哦~");
		return "邮件发送成功";
	}
	//把异常信息通过邮件的形式发送出去
	@RequestMapping("/sendE")
	public String sendE() {
		try {
		String string =null;
		string.charAt(0);
		}catch (Exception e) {
			//e.printStackTrace();//部署在服务器上之后,程序员看不到异常信息
			// TODO: handle exception
			//把异常信息转成字符串
			String messageString =e.getMessage();//信息很少,解释不全
			StringWriter stringWriter=new StringWriter();		
			PrintWriter prWriter=new PrintWriter(stringWriter);
			e.printStackTrace(prWriter);
			String  detailMessage=stringWriter.toString();//详细异常信息
			//把字符串发送到程序员邮箱
			sendMail("异常信息",detailMessage);
		}
		return "异常信息发送成功";
	}
}

发短信
前面和发邮箱一下的操作
网站注册,在https://www.yuntongxun.com–注册账号
身份认证,添加测试号码,查看模板,关闭鉴权ip,查看帮助文档–首页–文档帮助–短信快速入门–SDK参考
创建项目:
添加web和mail依赖

package com.tedu.springboot03_sms.controller;

import java.util.HashMap;
import java.util.Set;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.cloopen.rest.sdk.BodyType;
import com.cloopen.rest.sdk.CCPRestSmsSDK;

@RestController
public class SMSController {
	//发送骚扰短信可用 ~ ~ ~ ~
	@RequestMapping("/test")
	public String test() {
		return "test";
		
	}
		@RequestMapping("/sendSMS")
		public String send() {
			//生产环境请求地址:app.cloopen.com
		    String serverIp = "app.cloopen.com";
		    //请求端口
		    String serverPort = "8883";
		    //共有7处地方需要修改
		    //修改1 :管理-->控制台首页中能查到accountSId
		    String accountSId = "8aaf07087577b8e084b";
		  //修改2 :管理-->控制台首页中能查到accountToken
		    String accountToken = "9cd6a0094cbaf73e916dc9";
		    //修改3 :管理-->应用管理-->应用列表-->应用01-->应用管理,查看appId
		    String appId = "8aaf070875774c6d01758852";
		    CCPRestSmsSDK sdk = new CCPRestSmsSDK();
		    sdk.init(serverIp, serverPort);
		    sdk.setAccount(accountSId, accountToken);
		    sdk.setAppId(appId);
		    sdk.setBodyType(BodyType.Type_JSON);
		    //修改4 :修改接收短信的手机号,手机号要在后台添加进去
		    String to = "151";
		    //修改5 :templateId改成1
		    String templateId= "1";
		    //修改6 :
		    String[] datas = {"6688","3"};
		    String subAppend="1234";  //可选 扩展码,四位数字 0~9999
		    //修改7 :修改reqId为新的
		    String reqId="fadfafasadsac";  //可选 第三方自定义消息id,最大支持32位英文数字,同账号下同一自然天内不允许重复
		    //HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);
		    HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas,subAppend,reqId);
		    if("000000".equals(result.get("statusCode"))){
		        //正常返回输出data包体信息(map)
		        HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
		        Set<String> keySet = data.keySet();
		        for(String key:keySet){
		            Object object = data.get(key);
		            System.out.println(key +" = "+object);
		        }
		    }else{
		        //异常返回输出错误码和错误信息
		        System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
		    }
			return "发送成功";
		}
	}



SpringMVC

框架:代替servlet,框架由模块组成
由对象转换成json模块,现在使用的是jackjson模块
Mybatis的连接池使用的是C3P0
作用:控制层框架,springweb,实现url映射,接收参数,返回数据等
注解:
@Target:用于指定注解加在哪里
@Retention:用于指定项目注解什么时候有效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值