以下,是在项目中碰到的,并且参考其他博主所得出的一些约定俗成的编码技巧。
1. model 和 bean 的区别:
model的字段 > bean的字段 ,且model的字段可以和 bean的字段不一致。将两个分开来理解就好,不能混为一谈。
model是针对于前段页面显示数据的, bean是针对于数据库字段的映射的。两者的服务重心不同。
比如:在存储日期类数据的时候,数据库(bean)存储的是 datetime类型,而前端展示给用户的是string类型,前端转换数据很麻烦,所以在后台bean中做转换,转换完之后存在 model中,然后将model传递到前台进行显示。也可以在model中添加其他必要的字段(不需要存储在数据库中做持久化处理的)。
2. idea导入项目的时候,项目结构不是树形结构:
在导入的过程中,选择maven项目即可解决此问题
3.在文件上传至ftp服务器的时候,会出现代码跑通,但是文件并没有传到服务器上这种问题:
原因是没有写权限,默认只有读权限,所以在ftp设置中进行设置写权限即可。
user--->write (打钩)
4. plsql数据库的导入:
如果是同一个数据库的话,可以直接用sql语句导入
create table 表名 as select * from 数据库名.表名
5. 从config.properties配置文件中读取常量值的方法:
public static final String loginUrl = getBundle("config").getString("loginUrl");
6. 后台利用表单的方式提交数据(数据量较大的时候)
List list = new ArrayList();
list.add(new BasicNameValuePair("userName", model.getUserName()));
再将整个的list传递到后台,后台进行解析。
7. 什么是wcf:
简单的理解,就是一个服务。
我们将写好的代码,封装成接口的形式,以wcf的方式打包部署,最后生成一个网址,供客户端调用。
这个网址是自动生成的,客户端只需要通过网址调接口即可。
比如,操作数据库的接口等等。。。。
这样做的好处在于,可以将共用的东西抽取出来,供多方客户端调用,实现代码的复用,减少开发人员的工作量。
8. String和Date的相互转换:
(1) 获取当前时间(Date类型):
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
Date date = sdf.parse(sdf.format(new Date()));
(2) String类型转化为Date类型:
String time = "";
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
Date date = sdf.parse(this.time);
(3) Date类型转化为String类型(获取当前时间并转化为Date类型)
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd");
Date date = new Date();
String time = sdf.format(date);
(4) 前台传过来的是时间戳
将时间戳转化为Date类型:
String time = "170726362";
SimpleDateFormat sdf = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
String date = sdf.format(new Date(Long.valueOf(time)));
Date timeTime = sdf.format(date);
5. 获取前台传递过来的list类型数据并解析:
(1)前台数据:
para{'demo':[{test1},{test2},{test3}]}
(2) 后台处理:
List<JSONObject> list = new ArrayList<>();
//通过JSONArray 获取到前台数据
JSONArray array = para.getJSONArray("demo");
for(int i=0; i< array.size(); i++) {
//转化成JsonObject,再加入到List中
JSONObject json = (JSONObject)array.get(i);
liat.add(json);
}
6. ftpClient.makeDirectory(path)一直返回false:
原因是因为ftp服务器没有开(创建文件夹)的权限。
折磨了楼主好久,一直找不到问题,一直以为是代码逻辑的问题。。