2016-03-01 30 views
0

我在java中構建自己的HTTP服務器,但是我面臨一個問題:我想通過在運行時創建每個HTML對象來動態構建頁面,問題是:我如何確定客戶端瀏覽器的屏幕尺寸?
這個信息並不存在於HTTP標題中,所以我在考慮編寫一個運行JavaScript的「假」網頁,告訴服務器屏幕(它應該重定向到www.website.com/w: 1920,h:1080),但我不知道任何關於cookie的信息(我認爲這對於存儲這些信息是必不可少的)。
你認爲我應該學習關於cookies的方式或者有其他方法嗎?
順便說一句我沒有使用servlet,只是套接字,因爲這就是我知道的...應該使用servlets嗎?
感謝您的時間!
MatteoJava服務器端屏幕分辨率檢測

回答

0

在客戶端發送此信息之前,服務器對客戶端屏幕一無所知。 JavaScript是確定的屏幕尺寸最簡單的方法:

window.screen.availHeight 
window.screen.availWidth 

AJAX請求可以被用於將信息發送到可以在會話中存儲的數據和數據庫,例如備份,如果用戶登錄或標識的服務器不知何故。在這種情況下,你不需要cookies。然而,使用cookie的解決方案更容易,請檢查如何通過javascript設置它們。但是恐怕這樣的解決方案會有點不標準,如果你的網站要依靠javascript,爲什麼不廣泛使用它,並在客戶端生成所有對象,讓這個懶惰的計算機工作並保存你的服務器的資源:)只需通過發送最簡單的HTML腳本來完成這項工作即可提供數據。

Servlets?如果您有足夠的時間去做,它可以非常輕便,只需最少的知識即可完成。

+0

嗯,我很驚訝我可以用自己的服務器做多少事,管理連接,在運行時生成HTML ......這個網站過去依賴於JS,但它是不那麼有活力的東西。
我想我會使用cookie解決方案 –