从JSP读取CSV文件

时间:2013-03-17 14:33:48

标签: java javascript mysql jsp csv

我编写了一个与servlet一起使用的小型登录java程序,以及使用MVC模式的JSP,它允许我注册和登录帐户(如果我们可以调用它们)到我的本地mySQL数据库。我正在使用会话在servlet和JSP之间传递值,并且我在servlet上有一个if语句列表,用作无效输入的验证。现在,当我的应用程序执行时,会发生这种情况:

  • Sign_Up.jsp打开并显示UserName和Password字段,其下方有一个提交按钮。此外,它还在Log_In.jsp的左上角显示了一个链接。如果输入符合要求的用户名和密码,则会在数据库上创建一个帐户,然后重定向到Welcome.JSP,后者仅显示几行文本。 (我没有检查天气密码和输入的用户名是唯一的atm,因此DB上的用户表中有重复条目)

  • 如果单击Sign_UP.jsp顶部的链接,则会重定向到Log_In.jsp。在这里,您需要输入您的凭据,如果它们存在于您重定向到Welcome.jsp的数据库中,否则您被告知它们无效并且您需要再次输入它们。

-----------------------------------这就是我现在要做的事情--- -----------------------------------

一旦帐户被验证并重定向到Welcome.jsp,我希望该页面显示一个“选择文件”按钮,单击该按钮将允许您浏览计算机中的文件。从那里我应该能够选择一个我可以解析并输入数据库的.csv文件。也许.csv将包含一些简单的东西:

Username , Password

UserTest1, 123
UserTest2, 234
UserTest3, 567
UserTest4, 890

所以这些是关于整个程序的问题:

  • 是否可以在JSP中使用JS来完成我的任务?
  • 在JSP中使用JS来做这件事是个好主意吗?
  • 如果我要构建一个更复杂的网站,是否建议在JSP中使用html,css和jQuery代码构建它?

整个想法是建立一个网站,允许管理员只输入一个.csv文件,其中包含项目价格列表,这些文件将被网站抓取并上传到数据库中,作为回报,它将显示一个新的特定产品的库存。我知道我还远未完成,但这只是一个开始。 :)

2 个答案:

答案 0 :(得分:1)

  1. 您不需要JavaScript来上传文件
  2. 我看不出它会有什么帮助。只需使用类型文件
  3. 的输入
  4. 您当然可以使用JavaScript,无论您在服务器端使用什么来生成HTML页面。但是,在HTML页面中嵌入JavaScript代码是一种不好的做法。您应该尝试尽可能地将JS代码外部化为.js文件。
  5. 关于问题的标题和正文的几点说明:

    • 读取CSV文件是控制器的工作,而不是视图的工作
    • 使用会话将对象从servlet控制器传递到视图不是你应该做的。您应该使用该请求来执行此操作。

答案 1 :(得分:0)

您无法使用JS读取文件,因为它无权访问文件系统。

您必须将文件上传到服务器并从那里完成解析。

网上有大量的JSP文件上传示例。

大多数复杂的网站都使用您列出的技术/库,所以答案是肯定使用它们会增加可用性和外观。