GHGL项目-其他问题锦集
Posted 小崔编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GHGL项目-其他问题锦集相关的知识,希望对你有一定的参考价值。
junit单元测试
Jar包:Junit4.jar
import org.junit.Test;(手动写入)
注解报错The import org.springframework.test.context.junit4.SpringJUnit4ClassRunner cannot be resolved
需要两个jar包
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
http://blog.csdn.net/menggudaoke/article/details/53192274
url编码,把加号变成了空格
解决方案:用URIEncoding编码后传输
http://blog.csdn.net/z69183787/article/details/35987711
安全问题
Aes:
a. 介于java 不支持PKCS7Padding,只支持PKCS5Padding 但是PKCS7Padding 和 PKCS5Padding 没有什么区别要实现在java端用PKCS7Padding填充,需要用到bouncycastle组件来实现
b.前端js包加解密的数据都是base64格式的,这是基础
c.编码格式问题
1、AES在前后台对接时,后端向前端传数据时,有bug,传输汉字时有问题,
2、RSA传输数据长度时,报错:input too large for RSA,后端向前端传输未实现。
3、AES通过ajax传值时,参数值有问题。
原来是传参时data:“”:中的参数名要加双引号。
跨域问题
1、解决跨域问题
a.在controller中加入以下代码:
response.addHeader("Access-Control-Allow-Origin", "*");
response.addHeader("Access-Control-Allow-Methods", "*");
response.addHeader("Access-Control-Max-Age", "100");
response.addHeader("Access-Control-Allow-Headers", "Content-Type");
response.addHeader("Access-Control-Allow-Credentials", "false");
b.springmvc解决跨域问题
https://my.oschina.net/u/2608459/blog/607797
具体原理还有待研究。
2、跨域session丢失
第一个请求方法中放入session值
第二个请求方法中session为空。
http://blog.csdn.net/tangsl388/article/details/53672214
分隔符问题
Linux和Windows分隔符是不一样的,Windows下是“\\”,unix|linux下是“/”
在代码中写File.separator
分隔符
用“||”String[] strs = str.split("\\\\|\\\\|");
用“|”String[] strs = str.split("\\\\|");
New Date()时间问题
项目启动的时候记录New Date()时间,然后修改服务器时间,new date()时间不会改变。
Ajax缓存问题
重复登录一个账号,有问题
第一次登录,账号ajax存入缓存,后台存入session数据,第二次重复登录,相同的参数、相同的方法,不走后台,因为ajax有缓存,所以要把ajax的缓存清空,cache : false,
登录时存入缓存数据,登录时调用的ajax,
GC overhead limit exceeded
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.OutOfMemoryError: GC overhead limit exceeded
tomcat内存不够,加大内存即可
在/tomcat/bin/ catalina.sh
JAVA_OPTS='-Xms1024m -Xmx4096m'
http://www.cnblogs.com/quietwalk/archive/2012/11/05/2755199.html
事务就是不回滚
解决方法:手动提交的
http://blog.csdn.net/bejustice/article/details/48245741?ref=myread
两种配置事务的方法:
Spring aop:
必须引入这两个包,要不然报错:
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.10</version>
</dependency>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.5.4</version>
</dependency>
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--使用切面方式配置事务 -->
<tx:advice id="txadvice"transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="remove*"propagation="REQUIRED" read-only="false"rollback-for="java.lang.Exception"no-rollback-for="java.lang.RuntimeException"/>
<tx:method name="delete*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.Exception" no-rollback-for="java.lang.RuntimeException" />
<tx:method name="add*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.RuntimeException" />
<tx:method name="insert*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.RuntimeException" />
<tx:method name="save*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.RuntimeException" />
<tx:method name="update*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.Exception" />
<tx:method name="publish*" propagation="REQUIRED"read-only="false" rollback-for="java.lang.Exception" />
<tx:method name="get*" propagation="SUPPORTS"read-only="true" />
<tx:method name="list*" propagation="SUPPORTS"read-only="true" />
<tx:method name="query*" propagation="SUPPORTS"read-only="true" />
<tx:method name="find*" propagation="SUPPORTS"read-only="true" />
<tx:method name="page*" propagation="SUPPORTS"read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config proxy-target-class="true">
<aop:pointcut id="pointcut" expression="execution(* com.djzh.refund.service.*.*(..))"/>
<aop:advisor advice-ref="txadvice" pointcut-ref="pointcut"/>
</aop:config>
注解驱动:
<!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 开启事务注解驱动-->
<tx:annotation-driven transaction-manager="transactionManager"proxy-target-class="true"/>
代码中
方法上边:
@Transactional(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,rollbackFor=RuntimeException.class, Exception.class)
判断是否为空问题
https://zhidao.baidu.com/question/1576596292969400540.html
架构选型ssm和ssh
https://www.zhihu.com/question/21104468
http://download.csdn.net/detail/u012323351/9922228
问题:Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath.
解决:
数据特别大时,double转string时注意科学计数法
测试方法运行时间
long startTime = System.currentTimeMillis(); // 获取开始时间
//运行的方法。。。。。。。。
long endTime = System.currentTimeMillis(); // 获取结束时间
System.out.println("程序运行时间: " + (endTime - startTime) + "ms");
您的主机中的软件中止了一个已建立的连接。
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
是因为http客户端没等我执行到返回就自己断开了连接。。。所以这个开发里面http的超时时间设置也是蛮重要的呢
打印出所有的request参数和值
Map map = new HashMap();
Enumeration paramNames = request.getParameterNames();
while (paramNames.hasMoreElements())
String paramName = (String) paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
if (paramValues.length == 1)
String paramValue = paramValues[0];
if (paramValue.length() != 0)
map.put(paramName, paramValue);
Set<Map.Entry<String, String>> set = map.entrySet();
System.out.println("------------------------------");
for (Map.Entry entry : set)
System.out.println(entry.getKey() + ":" + entry.getValue());
System.out.println("------------------------------");
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.ObjectMapper.getFactory Lcom/fasterxml/jackson/core/JsonFactory;
http://blog.csdn.net/z69183787/article/details/22269131
老的是引用:jackson-all-1.9.11.jar。
新的是引用:jackson-core-2.2.3、jackson-annotations-2.2.3、
jackson-databind-2.2.3这三个包,
我同时引用,引起了以上问题
以上是关于GHGL项目-其他问题锦集的主要内容,如果未能解决你的问题,请参考以下文章