首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsp无法在webapps上写出拒绝许可的文件,但是/tmp目录?

问jsp无法在webapps上写出拒绝许可的文件,但是/tmp目录?
EN

Stack Overflow用户
提问于 2013-09-10 17:13:35
回答 1查看 597关注 0票数 1

我有一个关于文件写入的权限拒绝的问题。问题是,当我试图在webapps文件夹下写一个文件时,我想出了这个否认。但是,在/tmp文件夹上写入相同的文件没有任何问题。我检查了这两个文件夹的不同之处,特别是在一个和每个文件夹的权限上。source/webapps/brain03/WEB-INF drwxr-xr-x根目录/usr/share/tomcat7-examples/source/webapps/brain03/WEB-INF/bbs

当我不在/usr/share/tomcat7-examples/source/webapps/brain03/WEB-INF/bbs?上时,为什么可以在/tmp上通过jsp页面保存文件

我通过"chown -R tomcat7.tomcat7 /usr/share/tomcat7--R/source“解决了这个问题。但是,谜团依然存在。每个目录是否有任何特殊的、隐藏的访问控制标记?

下面是相关的html和jsp源代码。

代码语言:javascript
复制
    <HTML>
    <HEAD>
        <META http-equiv="Content-Type" content="text/html;charset=euc-kr">
        <TITLE>BBS Writing</TITLE>
    </HEAD>
    <BODY>
        <H2>Write here</H2>
        <FORM ACTION=BBSPost_new.jsp METHOD=POST>
            Name: <INPUT TYPE=TEXT NAME=NAME><BR>
            Title: <INPUT TYPE=TEXT NAME=TITLE><BR>
            <TEXTAREA COLS=30 ROWS=5 NAME=CONTENT></TEXTAREA><BR>
            <INPUT TYPE=SUBMIT VALUE='Save'>
        </FORM>
    </BODY>
</HTML>
代码语言:javascript
复制
<%@page contentType="text/html; charset=euc-kr"%>
<%@page import="java.io.*, java.util.Date"%>
<%
    request.setCharacterEncoding("euc-kr"); 
    String name = request.getParameter("NAME");
    String title = request.getParameter("TITLE");
    String content = request.getParameter("CONTENT");
    Date date = new Date();
    Long time = date.getTime();
    String filename = time + ".txt";
    String result;
    PrintWriter writer = null;
    try {
        String filePath = application.getRealPath("/WEB-INF/bbs/" + filename);
        writer = new PrintWriter(filePath);
        writer.printf("Title: %s %n", title);
        writer.printf("Writer: %s %n", name);
        writer.println(content);
        result = "SUCCESS";
    }
    catch (IOException ioe) {
        out.println(ioe.getMessage());
        result = "FAIL";
    }
    finally {
        try {
            writer.close();
        } 
        catch (Exception e) {
        }
    } 
    response.sendRedirect("BBSPostResult.jsp?RESULT=" + result); 
%>
EN

回答 1

Stack Overflow用户

发布于 2015-02-21 07:44:04

代码语言:javascript
复制
String filePath = application.getRealPath("/WEB-INF/bbs/" + filename);

仅供猜测,您试图编写/WEB-INF的事实意味着WEB-INF位于驱动器的根目录中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18714920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档