发表于: 2016-09-08 22:21:29
4 2460
今天完成的事情 :大致了解了一下log4j,
明天计划的事情:学习下swagger,建立接口文档。
遇到的问题:
1.eclipse包结构显示切换,
http://zhidao.baidu.com/link?url=dM3ucTPRY8R5PzNnba0nnFTxUGDFNGHxJZ-D-
2eE4sDMPlc3MPsJq8Mi_aKyW9nBJesaAU9o6or5grRuZK6mv_
注意点击的是三角箭头而不是右键
2.
Could not load the Tomcat server configuration at \Servers\Tomcat v7.0 Server at localhost-config.
导致错误的原因有人说是因为在项目启动过程中关闭tomcat,
解决办法:重新设置下tomcat
3.
eclipse 中clean的作用
java文件是通过编译成.class文件运行的,而clean后会删除已经编译生成的.class文件并重新部署项目。
如果你修改了文件但是未生效的时候clean一下一般就好了
4.
请求参数使用json,在springMvc中使用@RequestBody注释可以自动转换成对象,
今天我在使用HttpRequester的过程中发现
如果发送json请求但是没有传json会报http400
The request sent by the client was syntactically incorrect.
(1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提
交这个请求。2、请求参数有误。)
如果传了json因为contentType错误会报http415错误
(对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式
,因此请求被拒绝。)
所以一定要设置content-type为application/json
5.
string类trim()方法,去掉两边空格,
用if语句判断时跟想的不一样
String returnStr = " ";
if(returnStr==null||returnStr==""){//没有.trim()这句通不过
//if(returnStr.length()==0){//判断长度为零没有.trim()也不行。
6.
eclipse 设置编码格式:
有些时候导入文件遇到乱码使用在Eclipse项目文件上右键,选择Properties,在Resource选择修改编码格式
7.
@RequestMapping(value = "/produces", produces = "application/json")
produce属性值表示该方法将生产什么格式的数据,有application/xml、
application/json、text/html等。这里应该对应的是contentType(内容格式)吧
8.
swagger ui 一种可以生成api接口文档的工具
9.
在使用httpRequester过程发现返回的数据乱码,但是从浏览器上访问返回结果不乱吗
spring-mvc @responseBody注解返回的json中文部分是乱码
解决办法一般是使用produces = "text/html;charset=UTF-8",设置数据格式
最后发现
选择Text就不乱码了,使用Browser不论是UTF-8,GBK,ISO-8859-1
中文全是乱码。
10.整理代码,ctrl+shift+f,如果不灵就恢复默认设置
11.log4j
首先一定要明白log4j中那些默认等级:WARN>ERROR>INFO>DEBUG。
第二要明白不论使用properties文件还是java代码配置log4j输出的时候指定的等级都是最低输出等级,也就是只要高于指定的等级都会输出。
第三要明白怎么设置输出的地方log4j.appender.xxx = 值
该处的值我知道的有以下5种,我只用过控制台和每天产生一个日志文件
1.org.apache.log4j.ConsoleAppender(控制台)
2.org.apache.log4j.FileAppender(文件)
3.org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
4.org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
5.org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
第四要明白日志信息格式中的符号有哪些?
log4j.appender.xxx.layout = 值
1.org.apache.log4j.HTMLLayout(以HTML表格形式布局),
2.org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
3.org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
4.org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
使用org.apache.log4j.PatternLayout可以指定格式
-X号: X信息输出时左对齐;
%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL,
%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921
%r: 输出自应用启动到输出该log信息耗费的毫秒数
%c: 输出日志信息所属的类目,通常就是所在类的全名
%t: 输出产生该日志事件的线程名
%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main (TestLog4.java:10)
%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。
%%: 输出一个"%"字符
%F: 输出日志消息产生时所在的文件名称
%L: 输出代码中的行号
%m: 输出代码中指定的消息,产生的日志具体信息
%n: 输出一个回车换行符,Windows平台为"/r/n",Unix平台为"/n"输出日志信息换行
转自http://blog.csdn.net/edward0830ly/article/details/8250412
评论