项目异常记录及解决方案

1  tomcat启动时报错 java.io.EOFException

出现原因:

session未超时的情况下,服务器关闭的时候会被序列化为工程名\SESSIONS.ser,tomcat 启动的时候再加载进来,EOFException表示tomcat上次关闭时还有一些活动连接,所以在重启时tomcat尝试去恢复这些session,但是在输入过程中意外地到达文件尾或流尾的信号,导致从session中获取数据失败。异常是tomcat本身的问题,由于tomcat上次非正常关闭时有一些活动session被持 久化(表现为一些临时文件),在重启时,tomcat尝试去恢复这些session的持久化数据但又读取失败造成的。此异常不影响系统的使用。

解决方案;

将 tomcat_home\work\Catalina\localhost\『工程名』\SESSIONS.ser删除。如果正常关闭服务端,该文件是自 动删除的。考虑到每个人的tomat的工作目录不同,建议在“搜索”功能中找到你的SESSIONS.ser文件,而且只需要删 除..\yourProjectName\下的SESSIONS.ser即可。

2 mysql事件启动

SET GLOBAL event_scheduler = ON;  

3 js字符串拆分

js中,字符串拆分之后的数组,typeof()返回一个 object,因为typeof()没有array类型 

4 js方法

js中,多个方法写到一起,如果没有增加限制,本机(HP)则执行的顺序 并不会严格按照书写顺序,而是随机的,因此,需要加上timeout,来决定其执行顺序

5 使用swing组件不能显示中文,显示为方块状的乱码

 将字体设置为 MS UI Gothic (myeclipse 10) 即可显示,有些汉字不能显示,

将字体设置为Dialog 即可显示汉字

 6 日期处理- 取当前月及之前的5个月

public static List<String> getTimes(){
List<String> times=new ArrayList<String>();
Date nowTime=new Date();
SimpleDateFormat sdformat =new SimpleDateFormat("yyyy-MM");
Calendar c = Calendar.getInstance();
c.setTime(nowTime);

for (int i = 0; i < 6; i++) {
times.add( sdformat.format(c.getTime()));
c.add(Calendar.MARCH, -1);
}
 
 
return times;

}

7 数字处理- 两个整数取百分比

public  static String  getPercentage(int nomal,int allcount) {


// 创建一个数值格式化对象     
NumberFormat numberFormat = NumberFormat.getInstance();     
// 设置精确到小数点后2位     
numberFormat.setMaximumFractionDigits(2);     
String result = numberFormat.format((float)nomal/(float)allcount*100);  
return result;
}

1  获取servlet 的绝对路径
String path=this.getServletConfig().getServletContext().getRealPath("/");
2  servlet 转发
    request.getRequestDispatcher("succ.jsp").forward(request, response);
3  随机数生成
Random ran=new Random();
ran.next(10); //生成一个10以内的数字
4 背景图片防止重复
body{
background: url("images/2.jpg");
background-size:cover;   //不会重复显示
}
5 转换字符串编码
String  org=request.getParameter("orgname");
String orgName=new String(org.getBytes("iso-8859-1"), "utf-8");
6 tomcat 异常
INFO: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG
level.
网上查了下,说是因为httpHeaderSize大小不够导致的,要修改tomcat的配置,新加一个字段maxHttpHeaderSize。
7 struts2 编码过滤器要写到struts2的过滤器之前
8 cmd 计算机指令 
shutdown -r -t 20 20秒重启
shutdown -s -t 20 20秒关机
9 mysql数据库
启用事件必须要启动
检测事件是否启动 show variables like 'event_scheduler';
开启事件 set global event_scheduler = on;
10 tomcat日志报错 
 Caused by: java.lang.UnsupportedClassVersionError: net/risingeco/www/service/impl/LoginServiceImpl :
 Unsupported major.minor version 51.0 (unable to load class net.risingeco.www.service.impl.LoginServiceImpl)\
 出现的原因:  编译的环境为jdk7  ,运行时环境为jdk6

11  request.getRemoteAddr() 获取到的ip地址为0:0:0:0:0:0:0:1  

    出现的原因: 在本机测试项目的时候,使用了localhost,导致ip获取到的ip 不正确

解决方案: 本机测试也使用IP地址+端口号的形式


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hero_孙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值