发表于: 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


返回列表 返回列表
评论

    分享到