使用servlet写入文件时权限被拒绝

时间:2016-02-27 09:32:49

标签: java jsp servlets

我正在尝试用servlet的dopost编写一个文件。 我有一个jsp文件,它在doPost方法中向servlet发送两个变量。 servlet将这些变量写入文件中,如下所示:

	<form action="Client" method="POST">
		name <input type="text" size="20px" name="name1" ><br/> 
		name2 <input type="text" size="20px" name="name2"><br/> 
		<input type="submit" value="submit">
	</form>

我的doPost是

String name1 = request.getParameter("name1");
String name2 = request.getParameter("name2");
BufferedWriter output = null;
try {
File doc = new File("/home/username/Desktop/file.txt");
            output = new BufferedWriter(new FileWriter(doc));
            output.write(name1+" "+name2);
            response.getWriter().append("File saved!");
        } catch ( IOException e ) {
            response.getWriter().append("Exception"+e.getMessage());

        } finally {
            if ( output != null ) output.close();
        }   

我创建了一个war文件,我在执行后/var/lib/tomcat7/webapps/将此战争置于异常

/home/username/Desktop/file.txt (Permission denied)

为什么发生权限被拒绝?

1 个答案:

答案 0 :(得分:-1)

试试这个:

String filename = getServletContext().getRealPath("/") + "filename.txt";
File file = new File(filename);

这将在webapps.context中创建文件名filename.txt。