2 xuxingxuexidewo xuxingxuexidewo 于 2013.09.26 17:04 提问

HTTP Status 500 - Unable to load class for JSP

<%@ page contentType="text/html pageEncoding="GBK"%>

<%@ page import="java.io.*"%>

<%@ page import="java.util.*"%>

<%@ page import="java.math.*"%>

count.jsp

<%! //定义成全局变量
BigInteger count = null;
%>
<%!//一下方法为了省事,直接在方法中处理了异常,但是在实际开发中应该让调用处来处理异常
public BigInteger load(File file){ //读取计数文件
BigInteger count = null;

try{ //因为有IO操作,所以要用到try ...catch
if(file.exists()){ //如果文件存在,则读取
Scanner scan = null; //定义Scanner对象

scan = new Scanner(new FileInputStream(file)); //读取文件
if(scan.hasNext()){ //如果存在内容
count = new BigInteger(scan.next()); //将内容放到BigInteger类当中
}
scan.close(); //关闭输出流
                            }else{                      //文件不存在就创建新的
                                  count = new BigInteger("0");//第一次访问
                                  save(file,count);     //调用save方法,保存新的文件
                                  }                                     

         }catch(Exception e){
                  e.printStackTrace();          
                              }         
  return count;                                        //返回读取后的数据
}

%>
<%!
public void save(File file,BigInteger count){ //保存计数文件
try{
PrintStream ps = null; //定义输出流对象
ps = new PrintStream(new FileOutputStream(file));//打印流对象
ps.println(count); //保存数据
ps.close(); //关闭输出流

}catch(Exception e){
e.printStackTrace();
}
}

%>
<%
String filename = this.getServletContext().getRealPath("/")+"count.txt"; //拼凑要操作的文件路径
File file = new File(filename); //实例化File对象
if(session.isNew()){ //如果是新的session用户就可以进行count的增加操作
synchronized(this){ //必须进行同步操作
count = load(file);
count = count.add(new BigInteger("1")); //自增操作
save(file,count); //保存修改后的数据

}
}

%>

你是第<%=count==null?0:count%>位访客!

<%--输出类容--%>

Csdn user default icon
上传中...
上传图片
插入图片