1. 页面数据写入数据库乱码?
2. 页面的response信息是哪来的?
是
3. zookeeper连不上、dubbo服务不可用?
4. 什么时候用autowired 还是reference?
在一个工程里用autowired,不在一个工程里用reference
5. 如果一个云服务器上有多个人使用,调用服务的时候可能会调到其他人的服务,
所以指定应用名称要不一样
6. 加了事务注解,必须明确实现的是哪个类
7. pojo类注意:
- 要实现 Serializable接口 public class CheckItem implements Serializable
- 定义基本数据类型,建议使用包装类。
- 在使用小数时,不建议使用float和double,由于java中存储的是近似值,因此计算会出现问题。
一般使用
BigDecimal big = new BigDecimal(8.8);
BigDecimal big1 = new BigDecimal(2);
System.out.println(big.divide(big1).floatValue());
//除法也是近似值,但转成float就为4.4了
8. 注解RestController和RequestBody
由于RestController注解,将返回的对象自动转成json到页面上
RequestBody :传过来是一个json,注解RequestBody是必须的,转成pojo对象
@RestController //由于RestController注解,将返回的对象自动转成json到页面上
@RequestMapping("/checkitem")
public class CheckItemController {
@Reference //到zookeeper服务注册中心查找 CheckItemService 服务
private CheckItemService checkItemService;
/**
* 新增检查项
* 将页面得到的数据写入数据库
* @param checkItem
* @return
*/
@RequestMapping("/add")
public Result add(@RequestBody CheckItem checkItem){
//checkitem.html页面ajax提交的formData,形参是实体类 CheckItem
//@RequestBody 将页面的json封装成后端需要的形式
try{
//如何知道服务调用没调用成功,用try catch,成功就执行,没成功就catch
checkItemService.add(checkItem);
}catch (Exception e){
e.printStackTrace();
//服务调用失败
return new Result(false, MessageConstant.ADD_CHECKITEM_FAIL);
}
return new Result(true,MessageConstant.ADD_CHECKITEM_SUCCESS);
}
}
9. 如何测试步骤
maven上parent—>Lifecycle —> install
先启动provider,在启动backend
10. 页面缓存出现的问题?web页面报错查询方式?
保错信息:
html页面的代码改了多次,但是在编辑检查项时,仍出现问题,经过报错信息发现,改过的代码在浏览器中的报错的代码是没改过的版本,是浏览器缓存的问题,清理一下就解决了。
11. 出现功能穿插,检查组的html页面需要查询所有的检查项,
axios请求应请求检查项的controller,而不是检查组的controller。也就是说,检查项的controller的操作检查项的,检查组的controller是操作检查组的。
12. Vue中 :for勾选框
v-model 是绑定的数据
type:checkbox 复选框
value:是值
:for 对框进行勾选

13. 发送ajax请求,前面是一个数组,后面是json
在后台时,前面数组不用加@RequestBody,json用加
14. 中间表,两个id,多对多的关系,item的id来自页面,group的id是存储数据然后自增,如何得到
在添加完信息之后,才得到自增的id
根据通过mybatis框架提供的selectKey标签获得自增的ID值
函数:LAST_INSERT_ID() : 返回刚产生的id
然后在实现类就可通过getId得到
15. 在jdbc提交数据时,见上图是for循环每次提交,对性能有影响吗?
目前数据量少没影响,但是数据量很大时,会对性能有影响,可采用jdbc批量提交,由于是批量提交,就无法自动提交了,需手动提交。
16. 注意创建变量在循环外面,节省栈内存
一个map占4个字节,如果在循环里面创建,占用的栈内存空间循环次数 成乘以 4字节。
17. controller中的注解是@RestController不是@Controller
否则,前端页面报错 404 找不到add源,但是数据已经写到数据库里了。对业务操作没什么影响
dubbo的控制台会出现Failed to meta-introspect annotation interface org.springframework.web.bind.annotation.RequestBody: 空指针异常。
@Controller就是实例化。
@ResponseBody是返回一个响应。因为图中有return ,所以如果没有的话会报错404.
@RestController是@Controller + @ResponseBody。
18. 分页查询总结
19. 分页助手查询报空指针异常
在前端页面的pageSize:10,但是传到后端就为null
20. 在修改一对多或者多对多的关联关系如何操作
一般是,删除原有的关联关系delete,然后在重新插入新的关联关系
21. 七牛云文件上传Zone.zone1:华北 注意版本(新版本Region)
报错:{“error”:“incorrect region, please use up-z1.qiniup.com”}
原因:创建七牛云存储空间时选择了华北地区,但上传文件的配置类中配置了其他地区
//Zone.zone0:华东
//Zone.zone1:华北
//Zone.zone2:华南
//Zone.zoneNa0:北美
Zone.autoZone()自动
22. 在文件上传时,要在springmvc.xml配置一个文件上传组件
<!--文件上传组件-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="104857600" />
<property name="maxInMemorySize" value="4096" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
23. redis的使用
在使用redis时,解压运行就行。
注意要有redis的配置文件spring-redis.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://code.alibabatech.com/schema/dubbo
http://code.alibabatech.com/schema/dubbo/dubbo.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!--Jedis连接池的相关配置-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal">
<value>200</value>
</property>
<property name="maxIdle">
<value>50</value>
</property>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
</bean>
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="poolConfig" ref="jedisPoolConfig" />
<constructor-arg name="host" value="192.168.0.108" />
<constructor-arg name="port" value="6379" type="int" />
<constructor-arg name="timeout" value="30000" type="int" />
</bean>
</beans>
还要在springmvc.xml中引用,这是因为web.xml中加载配置文件的路径是
引用代码为:
<import resource="spring-redis.xml"/>
如果web.xml文件加载配置文件为spring*.xml就能加载spring-redis.xml文件,而不用在springmvc.xml中加载了。