码迷,mamicode.com
首页 > 其他好文 > 详细

ssm开发经历汇总

时间:2019-08-23 13:35:41      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:需求   man   开始   发送post请求   nbsp   引用   源地址   docker   需要   

1、@webfilter注解配置的filter中用到某个bean

自定义的filter需要实现filter接口,并重写init()、doFilter()、destroy()方法

因为spring框架是先加载filter类,再加载其他bean,所以,若在自定义filter中的bean采用自动装配方法(@Autowired)或者是在init()方法中调用(ApplicationContext) context.getBean(),此时的bean由于还没有开始加载,所以filter中的对bean的引用为Null, 若在之后的doFilter()中调用该bean的方法,将会抛出NullPointerException异常;

解决方案:对bean的装配在调用时才进行装配,因为所有调用需在所有bean实例化之后才能进行。所以待使用时配备bean,此时的bean已经加载完成,能通过(ApplicationContext) context.getBean()获得该bean的唯一实例。

 

2、ip过滤问题

在写ip过滤代码后,需要使用多个ip进行过滤测试,第一个想到的是用docker容器,因为docker能方便地产生多个容器,且会自动为不同容器分配的唯一ip,这样满足多个ip测试代码的需求。

但是,容器内程序访问外部地址时需要进行NAT转换,外部程序是无法访问容器ip的,容器的ip相当于对内网ip的再分配,它们对外的源地址ip统一为宿主机的ip,只不过每一个容器ip对应不同的服务端口。这样,就不能满足多ip测试的需求了。

 

3、发包和接包(HTTP请求)工具

进行后端开发工作,最常做的事情当然是发包和接包了,如果有图形界面的话,Postman无疑是个很好的选择。

但是,如果没有图形界面的环境,比如,需要在docker容器中进行发包和接包,curl命令则非常好用。

若发送post请求,格式为curl -X POST url ( PS: 其实get和post在url中都可以携带明文请求参数 ) -d "query1=what&query2=what..." (这是POST请求的非明文请求参数);

如果想用POST发送JSON文件请求,需要加上命令参数 -H "Content-Type:application/json" , POST的请求格式也变成JSON格式;

例如,curl -H "Content-Type:application/json" -X POST http://localhost:8080/api/city?query1=test1&query2=test2&query3=test3 -d ‘{ "id":"3", "provinceId":"3", "cityName":"zhuhai", "description":"live in zhuhai"}‘

 

ssm开发经历汇总

标签:需求   man   开始   发送post请求   nbsp   引用   源地址   docker   需要   

原文地址:https://www.cnblogs.com/dmzxxmeng/p/11399164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!