问一个非常简单的jsp问题!请帮忙,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/14 07:29:13
以下程序的这句<jsp:setProperty name="reader" property="path" value="E:\Chapter03\webapps\test\afile.txt" /> 中的"value"的值我写的是绝对路径.我认为很不安全,并且不规范,有没有一种更好的写法?

<%@page contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>读取一个文件</title>
</head>
<body >
<%--调用javabean --%>
<jsp:useBean id="reader" class="test.DelimitedDataFile" scope="request">
<jsp:setProperty name="reader" property="path" value="E:\Chapter03\webapps\test\afile.txt" />
</jsp:useBean>
<h3>文件内容:</h3>
<p>
<%
request.setCharacterEncoding("gb2312");
%>
<% int count = 0; %>
<% while (reader.nextRecord() != -1) {
count++; %>
<b> <% out.print(count); %

可以用request.getRealPath("/")得到你要的E:\Chapter03\webapps\,这应该是你工程部署的路径。在servlet里用this.getServletContext().getRealPath("/")得到。

你要是觉得绝对路径不便于移植的话就用相对路径"classpath:afile.txt"
这样写在安全性上是没有问题的

这样写也可以,因为客户端是看不到jsp代码的,如果在安全点,可以在web-xml文件里写

request.realpath