Java 允许用户上载文件

Java 允许用户上载文件,java,xml,servlets,file-upload,Java,Xml,Servlets,File Upload,我正在做一项大学作业,我们正在建立一个网站,允许学生查看可用的课程,登记课程,向他们展示课程表,等等。当用户看到他的课程表时,它是以XML生成的,我们使用XSLT查看它()。目前有两个不同的XSLT文件,用户可以(通过下拉菜单)选择要使用的“主题” 我们被要求允许用户上传自己的.xsl文件,并将其添加到主题列表中(任何人都可以使用)。为了满足这个需求,我创建了一个新的XML文件,名为timeline\u themes.XML,它看起来像这样: <?xml version="1.0" enc

我正在做一项大学作业,我们正在建立一个网站,允许学生查看可用的课程,登记课程,向他们展示课程表,等等。当用户看到他的课程表时,它是以XML生成的,我们使用XSLT查看它()。目前有两个不同的XSLT文件,用户可以(通过下拉菜单)选择要使用的“主题”

我们被要求允许用户上传自己的
.xsl
文件,并将其添加到主题列表中(任何人都可以使用)。为了满足这个需求,我创建了一个新的XML文件,名为
timeline\u themes.XML
,它看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TimetableThemes SYSTEM "timetable_themes.dtd" >
<TimetableThemes>
  <Theme>
    <Name>Classic</Name>
    <FileName>classic.xsl</FileName>
  </Theme>
  <Theme>
    <Name>Bullets</Name>
    <FileName>bullets.xsl</FileName>
  </Theme>
</TimetableThemes>

经典
classic.xsl
子弹
bullets.xsl
此文件列出了可用的不同主题及其文件名。此XML文件和XSL文件位于
WebContent/timeline
。目前可用的两个主题是由我们设计的,但是我们需要允许用户上传他的主题

我的问题是-如何允许用户上传文件,如何选择将文件保存在服务器中的位置?第三,我的主题列表XML解决方案是一个好主意吗?

Shalom Amir,用于检索表单上传的文件

如何允许用户上载文件

在HTML/JSP端使用
并使用来解析它,或者当您已经在使用支持Servlet 3.0的容器时,使用。另见


如何选择在服务器中保存它们的位置

至少不在公共网络内容中。无论何时重新部署webapp,甚至重新启动服务器,所有新文件都会丢失。使用
FileOutputStream
将它们存储在本地磁盘文件系统中,或者如果没有选择,则使用存储在数据库中


我的主题列表XML解决方案是个好主意吗


这不是一个可以客观回答的问题。这取决于太多的因素。尝试讨论论坛而不是问答网站。

XSL相当复杂。允许用户上传自己的XSL是个好主意吗?拒绝服务攻击的危险性如何?@Raedwald这是一项大学作业,因此它不是真正可选的。
我的主题列表XML解决方案是一个好主意吗?
那就是。我如何知道我正在使用哪个Servlet API?支持的Servlet API的最大版本将根据目标运行时确定。例如,Tomcat 7.0支持max Servlet 3.0,Tomcat 6.0支持max Servlet 2.5等。实际使用的Servlet API版本将根据
web.xml
root声明确定。在版本2.3之前,DTD使用时包含版本号,而在版本2.4之后,XSD使用时包含版本号和
version
属性。