J2EE/J2SE 错误记录

 

07年12月18号
1:使用jspSmartUpload组件时出现不能下载的异常,后来发现组件有问题,
在mySmartUpload.initialize(pageContext);一句前了加上
out.clear();    
out=pageContext.pushBody(); 后解决
2:使用jspSmartUpload组件时出现不能显示的异常
后发现调用方法必须为“post”;<form action="sample1.jsp" enctype="multipart/form-data" method="post">

07年12月19号:
eclipse 在 new Servlet的时候出现版本号的异常,在eclipse中试着修改JDK后还是不行
最后发现不环境变量的路径有问题,改过后 重启eclipse后正常。

07年12月20号
1:在用commons fileUpload组件时,出现java.io.FileNotFoundException: F:/upLoaded (拒绝访问。)的错误,后发现如果上传为空时,fileName不为null,而是为"";修改后解决.
2:发现在commons fileUpload和jspSmartUpload中上传文件,文件名为乱码的问题,
后在上传文件的jsp上加入<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>问题解决

07年12月20号
今天在用jdbc访问mysql时发现老出现错误连不上数据库,开始以为是数据量过大,后来发现是因为
配置文件中的url是用以前的没有端口号的那个,后来改为jdbc.url=jdbc:mysql://localhost:3309/edulocal,问题解决.


07年12月27号
今天又遇到了Apache Tomcat 启动不了的问题,在eclipse下能打开,其他情况下却打不开,症状是start之后闪了一下,然后启动界面就消失了,而Tomcat 还是没有启动.

       我在Apache Tomcat 的安装目录下打开logs文件夹,找到今天的日志进行分析后发现错误原因是找不到一个模块.

[2007-09-11 22:40:35] [174 javajni.c] [error] 找不到指定的模块。

于是我把jre里的msvcr71.dll文件拷贝到C:/windows/system32下面,重新启动Tomcat 后,问题解决了.

2:免安装版的Tomcat6启动不了服务
   后在
   C:/songguanghui/tomcat6/bin目录下catalina.bat,service.bat,startup.bat中
   rem ---------------------------------------------------------------------------
   后加上
   set JAVA_HOME=C:/songguanghui/Java/jdk1.6.0
   set CATALINA_HOME=C:/songguanghui/Tomcat6
   解决!

拷贝jdk到tomcat安装目录,不必再配置tomcat的jdk路径

拷贝jdk安装目录下的 bin、include和lib目录拷贝到tomcat的安装目录下。且jdk目录名:jdk1.6.0_01

然后修改startup.bat文件,在文件头部加如下代码:

set CURRENT_DIR=%cd%
cd ..
set CURRENT_DIR=%cd%
set JDK_HOME=%CURRENT_DIR%
set JAVA_HOME=%JDK_HOME%/jdk1.6.0_01
set CURRENT_DIR=%cd%
cd %CURRENT_DIR%/bin
即可。

2008年1月9号
Web工程下WEB-INF中Lib中加入Jar包后,不能自动导入到Web App Libraries中。
后在工程buiderPath->addLibraries->Web App Libraries->工程名->确定
解决!
servlet中使用javaScript:
post下
   response.setContentType("text/html;charset=GBK");
   PrintWriter out = response.getWriter();
   --------------------------------------------------------------
   out.print("<script>alert('注册人数已满,添加用户失败!');</script>");
   out.print("<script>location.href='/xtgl/admu_adduser.jsp';</script>");
                out.print("<script>top.location.href='/xtgl/admu_adduser.jsp';</script>");连接到最上层
   out.print("<script>window.close();</script>");
                      <a href="Javascript:window.history.go(-1)">
                           οnclick="javascript:window.close();
Response.write   " <script >alert( &apos;校验不正确! &apos;);javascript:history.back(); </script >
out.print("<script>window.open('grxxNum33.jsp', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')</script>");


  
2008年1月10号
发现Tomcat不执行新改后的jsp文件,只执行以前的。。。
后在C:/huayangedu/Tomcat5/work/Catalina/localhost/_/org/apache/jsp
下找到jsp编译过的servlet把其删除后。就可以了.

2008年3月3日
Hibernate+Spring 查数据库时出现 could not initialize proxy - no Session
错误,后修改
   <many-to-one name="ygbm" class="Bmxx" lazy="false">
    <column name="bmid"></column>
   </many-to-one>
lazy设为false后解决

2008年3月5日
org.apache.jasper.JasperException: Unable to compile class for JSP 解决方法
把jdk安装目录下的lib/tools.jar拷贝到tomcat安装目录下的common/lib目录下,然后重启tomcat,

2008年3月7日
javascrip和函数传字符串参数,调用时应加“‘ ’”单引号

2008年3月10日
Eclipse生成的web.xml的<web-app></web-app>中添加< taglib>标签出错,
成web工程时,产生的web.xml文件中的<web-app>标签是这样的:
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
而不是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<web-app>
......
</web-app>

应该是与xml schema有关。

正确方法应该是用<jsp-config></jsp-config>把tiglib包含起来即可以排除错误。此外,有些 web.xml的可视化编辑不加<jsp-config>的话认不出taglib的内容。


2008年3月11号
hibernate+String中老报could not initialize a collection: 错误,后发现一对多关系时,如果有两个一对多的关系,要lazy=“true”

2008年3月14日
jsp传到servlet中代码全是乱码”????“,后发现是字符转换的问题
写了一个小方法,把所有的String转换一下,就好了
方法如下:
public String toGbk(String x) {
   byte[] y;
   try {
    y = x.getBytes("ISO8859_1");
    String z = new String(y, "gbk");
    return z;
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    return "zhi fu ji cuowu!";
   }
}


2008年3月18号
jsp中用javascript日历中的时间格式和国际化标签的时间格式不一样,后来发现月份是一位或两位,标签中的月份默认为位
后加一个方法解决!
如下:
public static String getNowDateShort() {
      Date currentTime = new Date();
      SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
      String dateString = formatter.format(currentTime);
      return dateString;
}

servlet中生成9位Integer类型的编号的方法:
public Integer getId(){
   Date id=new Date();
        String ids=String.valueOf(id.getTime());
        String ids2=ids.substring(0, 9);
        Integer thisid=Integer.valueOf(ids2.trim());
        return thisid;
}
2008年3月19号
Tomcat设置抛出异常时应该显示的页面
<error-page>
<error-code>404</error-code>
<location>/notFileFound.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/null.jsp</location>
</error-page>

<%@ page isErrorPage="true" errorPage="error.jsp"%>
    也可以捕捉NullPointerException这种异常,此时转向error.jsp


jsp中设<error-page> 时显示不出来,后发现是jsp错误页面太小了,后在页里面加入大约50行
注释后,就解决。。

org.apache.jasper.JasperException: 。。。 equal symbol expected异常
是因为jsp页面最上边<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>错误!!
2008年3月21号
使用commons的fileupload组件上传时,在servelt中不能使用 request.getParameter("")方法
后发现在因为在jsp中要上传,需用到<form action="NwgjNum4.go" enctype="multipart/form-data" method="post">
所以不能用
后来在servlet中用
     FileItem fi = (FileItem) object;
     String fileName=fi.getName();
     String fileName2 = fi.getFieldName();
       if(fileName2.equals("fileName")){
       fileNames=toGbk(fi.getString());
       }
       if(fileName2.equals("fileType"))
       fileType=toGbk(fi.getString());
       if(fileName2.equals("fileExp"))
       fileExp=toGbk(fi.getString());
的办法解决!!

在servlet中使用spring中hibernate的hql询的方法(特别有用):

   ApplicationContext app = new ClassPathXmlApplicationContext(
   "Application.xml");
         SessionFactory sessionFactory = (SessionFactory) app.getBean("huayangSessionFactory");
         Session hsession=sessionFactory.openSession();
         hsession.beginTransaction();
       int pageNumber =1;
       int pageSize=15;
       String hql="from Xzzl x order by x.zldownnum desc";
     Query query=hsession.createQuery(hql);
     query.setFirstResult((pageNumber - 1) * pageSize);
     query.setMaxResults(pageSize);
     List list=query.list();
    request.setAttribute("list", list);

2008年3月24号
java Applet小程序,编译后的.class文件必须和和jsp文件放到同一路径下!!!

2008年3月25号
eclipse启动时报
Resource is out of sync with the file system: ...错误。
右击项目 refresh一下就OK了 这是因为在eclipse外部对文件进行了修改造成不同步的问题

2008年4月1号
在tomcat启动的时候,出现这个警告:

log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax).
log4j:WARN Please initialize the log4j system properly.

解决方法:把log4j.properties文件拷贝到web工程src目录下

2008年4月2号
jsp页面EL+jstl实现for循环
              <c:set var="x" value="1" scope="page"/>
       <c:forEach items="${requestScope.khmx}" var="khmx">
      <tr>
        <input name="mx${x}" type="hidden" value="${khmx.mxid}"/>
        <td align="left">${khmx.gznr}</td>
        <td align="left">${khmx.gzqz}</td>
        <td align="left"><select name="select${x}" size="1">
          <option value="1.1">A</option>
          <option value="1.0">B</option>
          <option value="0.9">C</option>
          <option value="0.8">D</option>
          <option value="0.7">E</option>
        </select></td>
             <c:set var="x" value="${x+1}" scope="page"/>
      </tr>
        </c:forEach>
2008年4月16号
jsp中判断是集合是否为空
<tr><c:choose><c:when test="${fn:length(requestScope.customers) == 0}">   
<td>没有满足条件的纪录</td></c:when>
<c:otherwise>  
<td align="right">共${fn:length(requestScope.customers)}行
&nbsp;&nbsp;&nbsp;第 ${param.pageNumber } {requestScope.customers[0].totalPageCount } 页</td>
</c:otherwise></c:choose></tr>

2008年4月21日
启动eclipse时出现resource is out of sync with the file system
查阅资料后发现这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。
解决办法:需要手动刷新一下资源管理器。
(1)在eclipse中,工程目录右键,选择F5(refresh)
(2)设置eclipse自动刷新。
           通过Window->Preferences->General->Workspace,选中Refresh automatically。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值