1、浏览器清空缓存的时候如果选择清空cookie,其实就是清空session(google浏览器,ie11没有这个问题)
2、本地环境最好用ip地址127.0.0.1而非localhost,重定向要加request.getcontentpath()上下文3、当控制session超时的时候,点击tab按钮,会有iframe嵌套问题,可以在session超时设置的返回jsp代码中,顶部加上如下判断例:如login.jsp
<html>
4、在web.xml。这里注意点是浏览器不请求保持在20分钟后,session过期
<!-- 配置sessio过期时间单位:分钟 -->
20
5、项目中使用aop控制日志和事务
注意点:spring配置文件是必须加的
当你的aop想切springmvc的controller类,一定也在springmvc配置文件上加入上面的配置
用aop从session中取出user信息的方法,部分代码如下:
public void doBefore(JoinPoint jp) { Object[] args = jp.getArgs(); HttpServletRequest request = null; StringBuilder str = new StringBuilder(); //通过分析aop监听参数分析出request等信息 for (Object obj : args) { if (obj instanceof HttpServletRequest) { request = (HttpServletRequest) obj; } else if (obj instanceof HttpServletResponse) { } else { str.append(obj); } } UserVO user = null; if (request != null) { user = (UserVO) request.getSession().getAttribute("currentUser"); if (user != null) { logger.info("用户名:{}", user.getUserName()); } }
其中发现个问题,spring和springmvc扫描注解包,最好要完全分离,springmvc监控controller,spring加载其余控制权,让springMVC的配置xml和spring容器的配置xml分开,在各自的xml中配置自己该做的事情,不要让springMVC去扫描不该自己管理的注解。否则到后面老是出一些奇怪的问题。例如:spring中的事务回滚和aop配置
6、在做aop日志管理的时候遇到获取session问题。解决方案如下:
HttpSession session = (HttpSession) RequestContextHolder.getRequestAttributes().getSessionMutex();
spring 版本不同方式,最好的方法.getSessionMutex();可能不同
简单的是使用注解
@Autowired
HttpServletRequest request; respose 同理。。。7、获取最新记录问题,例如获取gps数据表中,每辆车的最新gps数据
/*
数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */--一、按name分组取val最大的值所在行的数据。
--方法1: select a.* from tb a where val = (select max(val) from tb where name = a.name) order by a.name8、centos 6.5 本地copy文件到服务器
shell命令 rz
9、jackson pojo转换json时间问题,它默认的是时间很长的数字
ObjectMapper objmapper = new ObjectMapper();
objmapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
10、eclipse设置项目管理
第一次方式
第2种方式
11、获取tomcat webapp真实目录,例如app文件放在 webapp的 app文件夹下
request.getSession().getServletContext().getRealPath("/app");
12、maven + jetty启动项目问题,在用eclipse的jetty启动项目的时候,下载文件老是出内存溢出,后来改成在pom.xml,加jetty配置控制,在 maven的 web包的pom.xml中
</dependencies> 之后加,
<build>
<plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>8.1.16.v20140903</version> <configuration> <webApp> <contextPath>/</contextPath> </webApp> <connectors> <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>60000</maxIdleTime> </connector> </connectors> <scanIntervalSeconds>0</scanIntervalSeconds> <scanTargetPatterns> <scanTargetPattern> <directory>src/main/webapp</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </scanTargetPattern> </scanTargetPatterns> <stopKey/> <stopPort/> </configuration> </plugin> </pl