2013-01-10 61 views
1

我需要從一些擴展例如: - 蝙蝠,EXE,倉等附加文件限制用戶..Servlet過濾器來檢查附件擴展

對於這一點,我相信我會需要寫一個Servlet過濾器。我是servlets新手,有人能指導我如何實現這一目標嗎?

使用Servlet過濾器是否正確?

任何幫助高度讚賞。 請讓我知道是否需要從我那裏得到任何其他信息。

+1

你也可以在客戶端檢查。 – kaysush

+0

用戶是否可以使用螢火蟲來操作vaildation?出現彈出窗口,我必須在用戶點擊附加按鈕後立即檢查分機號碼。附加按鈕調用一個動作並調用一個方法。 Webwork用於這個動作 – Mizan

+0

你可以使用JavaScript檢查文件類型,如下所示:document.getElementById('fileChooserID')。files [0] .type' – kaysush

回答

1

那麼,你總是可以使用一個servlet過濾器來添加一些在你的servlet代碼之前運行的驗證。取決於你的應用程序構造方式,它可能也可能不是。這是你的建築調用。

實現一個Servlet過濾器的方法是非常簡單的,你可以看看http://www.oracle.com/technetwork/java/filters-137243.html

關於驗證輸入擴展。你需要如何信任驗證?請記住,用戶在上傳文件之前可能總是使用擴展名。如果您對此感到放鬆,則可以通過非常簡單的方式實現它,只需檢查Content-Type標題中的有效MIME類型請求即可。

如果你需要更堅實的驗證,你需要使用更像Mime-Utils或類似的東西。檢查Getting A File's Mime Type In Java

+0

謝謝克勞迪奧:),我會試試這個。目前我需要一個簡單的過濾器,感謝您指出更加嚴格的方法。 – Mizan

+0

嗨克勞迪奧,我經歷了servlet過濾器的基礎知識。但我沒有得到如何應用過濾器。請你能幫助我嗎? – Mizan

+0

嗨克勞迪奧,我能夠得到我的過濾器中的內容類型..現在我想顯示一條錯誤消息給用戶..怎麼做? – Mizan