JSP读取文件

想在Jsp中读取一个文本文件非常简单,请看下面的例子:

String fileName = "test.txt";
BufferedReader br = null;
String line= "";
try{
br = new BufferedReader(new FileReader(fileName));
while((line = br.readLine())!=null){
out.println(line+ "<BR/>");
}
br.close();
}catch(Exception e){e.printStackTrace();}

以上代码大致上看没什么问题,但是细心的人会发现了,这个”test.txt”文件根本读不到,尽管我们的”test.txt”是放在与该jsp同级目录下。

其实解决方案非常简单,只需要修改粗体部分为:String fileName = request.getRealPath("test.txt"); 就可以了。

request.getRealPath(String fileName), 这个函数返回文件在服务器上的绝对路径。如果要返回当前站点的根目录,可以使用request.getRealPath(”/”) 。但是request.getRealPath() 方法现在已经废弃了,目前推荐使用request.getSession().getServletContext().getRealPath();

另外,request对象的其他方法有:
setAttribute(String name,Object):设置名字为name的request的参数值
getAttribute(String name):返回由name 指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一
个枚举的实例
getCookies():返回客户端的所有Cookie 对象,结果是一个Cookie 数组
getCharacterEncoding():返回请求中的字符编码方式
getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header 的所有值,结
果是一个枚举的实例
getHeaderNames():返回所以request Header 的名字,结果是一个枚举的
实例
getInputStream():返回请求的输入流,用于获得请求中的数据
getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name 指定的
参数值
getParameterNames():获得客户端传送给服务器端的所有参数的名字,结
果是一个枚举的实例
getParameterValues(String name):获得有name 指定的参数的所有值
getProtocol():获取客户端向服务器端传送数据所依据的协议名称
getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址
getRemoteAddr():获取客户端的IP 地址
getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session
getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径
getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值