首页 > 代码库 > 2014年工作中遇到的20个问题:120-140

2014年工作中遇到的20个问题:120-140



121.Tomcat增加JVM启动参数。
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%
set JAVA_OPTS=%JAVA_OPTS% -Dp2p.config_path=file:C:/Users/Administrator/git/p2p2/yiqihao


JAVA_OPTS后的的“=”,左右两边不能出现空格。
以前好像总结过这个问题,这次又犯了相同的错误,和上面的Tomcat默认配置比较一下,很快就想起了这个问题。


122.图片无法响应,总是404,明明做了mvc:resource映射。
 <mvc:resources location="file:${setting.upload_root_path}/ueimg/ueditor/jsp/upload/"  mapping="/ueimg/ueditor/jsp/upload/**" />
 DispatchServlet只拦截*.html,图片请求不会走SpringMVC,所以mvc:resources无法进行静态映射。
 
 怎么精准地拦截 某个目录下的URL请求呢?
 比如图片访问路径是/ueimg/ueditor/jsp/upload/image/*/*.png,
 这种访问是拦截得到的?
    <servlet-mapping>
    <servlet-name>theDispatcher</servlet-name>
    <url-pattern>*.png</url-pattern>
  </servlet-mapping>
  
  /ueimg/*,/ueimg/**,/ueimg/*.png 都是不行的。
 
123.Git Push错误“Error writing request body to server”
默认Git设置http post的缓存为1M
解决方法: 增加http post缓存, 如果使用git命令,设置参数命令如下:
#增加为 500MB git config http.postBuffer 524288000
如果使用的是Eclipse Git插件,则需要在 Window -> Preferences 中找到 Team -> Git -> Configuration 配置界面,在System Settings Tab页中 点击 “Add Entry…” 按钮来添加一个配置项:


key为: http.postBuffer value为:524288000
参考资料:http://blog.sina.com.cn/s/blog_002e20310102v1nn.html


124.MySQL-Front导入Excel2003(.xls)格式的数据,有时会遇到错误。
一次性全部导入一个Excel中的多个Tab,即多个表格的结构和数据,偶尔遇到错误。
遇到这种情况,我的尝试是,把Excel另存为.cvs,再次导入MySQL-Front。
或者只导入Excel中的1个表格。
如果1个表格可以成功导入,再导入所有的,把刚刚成功导入的直接覆盖掉。


125.Jeesite企业信息框架有“init-db.bat”脚本,用来初始化数据库,我只配置了MAVEN_HOME变量,
然后提示找不到Ant等各种东西,就懒得再搞了,直接手动导入sql文件和Excel数据。


126.Boss导入Maven工程,总是提示NullPointerException。
试了很多次,都不行。
最后我的建议是,作为普通工程导入,然后转换为Maven工程。
实际情况是,作为普通工程导入后,Eclipse自动把他识别为Maven工程了,就好了。


127.Mybatis的resultType区分大小写。
<select id="listPage" resultType="java.util.Map">
"java.util.map"不行。


128.Mybatis中写模糊查询like。
like #{search}),前端传入的search是“a”这种,Java程序加上“%a%”。
我想不通过Java,而是在Mybatis的脚本中,直接写%%,2种方法都不行。


  方法一:and (card like <![CDATA[ ‘%#{search}%‘ ]]>   or name like #{search})

  方法二:<if test="search != null and search != ‘‘">
and (card like <![CDATA[ ‘%#{search}%‘ ]]>   or name like #{search})
</if>
有了“<![CData[”,Mybatis不再处理里面的标签。


129.判断字符串是否为空。
org.apache.commons.lang3.StringUtils.isEmpty
org.apache.commons.lang3.StringUtils.isBlank
这2个方法是不同的。
“ ” isEmpty为false,isBlank为 true。


130.JavaScript中的超链接a点击没有反应。


<script type="text/javascript">
  function click(){
    console.log("click");
  }
  
</script>
<a target="_blank" onclick="click();">a</a>


原因:click是JavaScript的关键字,换个名字。
本来就是个Demo小程序,试验个东西,结果又涨姿势了。


131.包名不匹配。
移动某个包到另外一个项目,“com.p2p.cms.controller”,包的名字叫这个,而不是com/p2p/cms/controller这种有层级的目录结构。
到磁盘目录去看,才发现这个问题。
Description Resource Path Location Type
The declared package "com.p2p.cms.controller" does not match the expected package "com.p2p.cms.controller"
PostCategoryController.java /cms/src/main/java/com.p2p.cms.controller line 1 Java Problem


咦,把这个错误复制到文本中显示,错误还是很明显的。
但是在Eclipse的Marks视图,看到的就不明显。


132.JS语法问题。
 <a href="javascript:;" onclick="doRemove(${article.id},‘${article.title}‘);">删除</a>
 如果传入doRemove方法的参数,是字符串,必须加上“单引号”。

133.Freemarker的include还是很不错的。
页面中有相同的HTML或者FTL代码,可以单独拿出来,然后引入,只需要维护一份模版。
这样,页面中的代码看起来也少了很多。爽~


134.跳转到登录页面,URL有多余的空格。
<bean class="com.p2p.base.interceptors.BaseLoginInterceptor">
<property name="loginCenterUrl">
<value>http://login.yiqihao.com:${p2p.port}/login-center/login.html</value>
</property>
<property name="loginBackUrl">
<value>http://user.yiqihao.com:${p2p.port}/user-center/home/index.html</value>
</property>
</bean>


“<value>...</value>"一定要在一行,千万不要换行!!!
http://login.yiqihao.com:8080/login-center/login.html%20?backUrl=http://user.yiqihao.com:8080/user-center/home/index.html

135.UEditor里设置图片的路径,我在linux上用的是"~/img/",实际上是找不到的。

因为这个路径,最终在Java程序中有处理。用完整的格式,绝对地址比较好:/root/img。


原文首发:http://fansunion.cn/article/detail/533.html



  
136.Mybatis的sql这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。比如:
<sql id="TenderReturnColumns">
id,tid,no,uid,lid,principal,amount,time,status,is_flow,return_type,extra_interest,updateTime
</sql>

<select id="listPage" resultType="java.util.Map">
select 
<include refid="TenderReturnColumns" /> 
     from p2p_tender_return order by id desc
</select>

137.一个同事遇到了LF和CRLF的问题。
LF格式作为换行,无法提交到git,提示需要被替换为CRLF。
用Notepad打开,保存为CRLF。


138.这种写法不正确。
${item.oktime?exist?number_to_datetime}


139.freemarker如何判断对象类型。
#if myVar.class.simpleName == "Object Type">
        ...
    </#if>
网上有这种说法,如果是对象类型,可以通过.class.simpleName获得。
但是如果是原始类型,number,就会报错了。
这样只能自定义方法了:http://www.iteye.com/topic/1121429.


不够,我觉得自定义方法目前又太麻烦,先不继续深入了。


140.表单提交的值总是为null。
<input type="hidden" name="transferid" value=http://www.mamicode.com/"${transfer.id}"/>
transfer.id一直有值为5,后端数据debug确实有。
但是前端再把这个值回显给后端的时候,总是为null。


最终发现,定义了2个transferid
<form>
<input type="hidden" name="transferid" value=http://www.mamicode.com/"${transferid}"/>//以前的代码,还在


<input type="hidden" name="transferid" value=http://www.mamicode.com/"${transfer.id}"/>//直接又增加了一个
</form>


表单提交的时候,只会提交前面的一个?


查看浏览器的Headers记录:
transferid:
transferid:5
transpwd:
paypwd:
captcha:


发现,浏览器提交了2个,应该是SpringMVC接收的时候,只处理了第1个。

2014年工作中遇到的20个问题:120-140