秒杀项目具有很多的重要知识点,本片博客记录在解决秒杀项目中产生的各种问题时,遇到的一些小知识点和问题以及解决方案。
一、ssm框架中一些注解
1.@Component
根据项目中的使用和网上的一些贴子,我个人总结以下内容
@Component,就是把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>
如果在项目中遇到需要把一个类实例化注入到spring容器中,但是此类不在一些扫描的包下,比如controller、service,就可以加上次注解,进行注入
此处是秒杀项目中,通过消息中间件获取消息的类GetMessageUtils,它不在被扫描的包下,加上此注解,就可注入spring容器中
2.@ControllerAdvice
次注解作用的类是全局捕获异常类,只要作用在@RequestMapping上,所有的异常都会被捕获
项目中使用了异常捕获返回json给前端的方法,后台报异常,同时返回给前端,本项目中使用了自定义异常,包含各种失败信息,而使用次注解就能捕获所有异常类
二、html页面中获取请求参数的方法
可以获取当前url中的参数,通过名称即可获取
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则
if(r!=null)return unescape(r[2]); return null;
}
项目使用前后端分离,页面在跳转时带有参数,就可以使用该方法,在获取是调用该方法,直接通过名称课可以获取