我计划用java开发一个Web应用程序。我想要这些东西 - 首先,我必须在桌面上创建一个文件夹,在这个文件夹中假设我创建了另外5个文件夹,其名称为A,B,C,D,E.now我想要,如果我在文件夹A上添加一些文本或图像文档,那么只有这个人 通过用户名A登录和密码(某些密码)可以访问此特定文件。与其他文件夹相同的东西。我的意思是,如果管理员创建5个用户的名称为A,B,C,D,E。每个用户都可以访问和下载它的特定文件。
如果管理员在A中的文件夹中放入了一些新文件,那么当用户A通过Web应用程序登录时,他只能访问文件夹A中的新添加文件。
先生,我想做的事情,但如何发起我不知道。 请帮帮我。
感谢。
答案 0 :(得分:0)
试试这个。您只需发送要下载的文件夹和文件名。如果您可以从会话中获取路径,则可以更安全地为您创建的用户提供登录ID。如果您上传新数据,则删除该文件夹并创建新文件。那时您只有一个最新数据。我认为它对您有帮助
response.setContentType("image/jpeg");
String path = request.getParameter("folder");
String name = request.getParameter("filename");
/* TODO output your page here. You may use following sample code. */
String filepath = "Your path" + path + "/" + name, filename = name;
ServletOutputStream out = response.getOutputStream();
FileInputStream in = new FileInputStream(filepath);
response.addHeader("content-disposition",
"attachment; filename=" + filename);
int octet;
while ((octet = in.read()) != -1) {
out.write(octet);
}
in.close();
out.close();

答案 1 :(得分:0)
您必须在web.xml中提供根文件夹的路径,以便您的servlet可以访问它。文件夹应位于服务器的安装文件夹
之外<servlet>
<servlet-name>CreateFolder</servlet-name>
<servlet-class>pckg.CreateFolder</servlet-class>
</servlet>
<context-param>
<param-name>ParentFolder</param-name>
<param-value>/z/y/x/users</param-value>
</context-param>
<context-param>
<param-name>FileName</param-name>
<param-value>xyz.png</param-value>
</context-param>
CreateFolder Servlet: -
private String userFolder;
public void init(ServletConfig config) {
userFolder= getServletContext().getInitParameter("ParentFolder");
}
public doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException){
String userName = request.getParameter("UserName");
String location=""
if(userName != null){
location +="/"+userName;
if (!location .exists()) {
location .mkdirs(); //If does not exists then create folder
}
}
}
UploadFile Servlet: -
private String userFolder;
private String fileName;
public void init(ServletConfig config) {
userFolder= getServletContext().getInitParameter("ParentFolder");
fileName= getServletContext().getInitParameter("FileName");
}
public doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException){
String userName = request.getParameter("UserName");
String location=""
if(userName != null){
location +="/"+userName;
if (!location .exists()) {
UploadeFile(location );
}
}
}
private void UploadeFile(String location ){
String file = location+"/"+fileName;
//Code to upload the file
MoveFile(file);//Move to different location
}
首先在正确验证后获取UserName
。从web.xml
读取文件夹路径。
将UserName
附加到文件夹路径,检查路径是否存在。
如果path不存在,则创建Path。
将文件上传到用户。成功完成上传后,将文件移动到其他位置。因此,下次用户登录系统时,他只会看到新的文档。