java 板


LINE

※ 引述《tkcn (小安)》之铭言: : 话先说在前头, : 我对写网页不太在行, : 所以这篇文章可能会存在一些严重的错误, : 还请各位多多包涵。 话也说在前面 什麽「猪屎被疼」的东西我不懂(正确来说,我啥都不懂) 以下请当作抛砖引玉的无学问土炮想法 : --- : 这篇文章主要是想问, : 一些在网页上常见的架构如何在 GWT 上实现, : 像是 login page, : 还有让每个页面都有共同的 header, bottom。 如果纯粹静态的东西(例如:Logo、联络资讯) 可以直接刻在 html 里头 如果是动态产生的东西,那... 就用 Java(OO)的角度去想吧 : 我照着官方的 tutorial 做完以後, : 试着想要写一个 login page, : 却发现非常的.... 呃~ 棘手 XD : 我甚至不知道我应该用纯 GWT 去写, : 还是写一个 JSP 做登入,登入完成後再转给 GWT module。 : 如果用纯 GWT 去写, : 跳转页面的部份又改如何做, 纯粹讲「跳转页面」是 Window.open("_self", A_URL, ""); 顺便广告:http://sites.psmonkey.org/pt2wiki/GWT : 应该要用单一 module? 还是多个 module? : 直到後来我看了一些讨论, ( http://tinyurl.com/yd5eud6 ) : "GWT highly recommends using a single module." : "Typically, there is only a single HTML page, : and different "screens" are manipulated on the client side." : OK, 所以我应该用 GWT 做一个登入的 "screen", : 然後在 EntryPoint 做一个 RPC 呼叫, : 去判断使用者的 cookie 是否过期, : 如果过期了就显示 login screen, : 没过期就显示登入後的画面。 : 於是我写了一个类似这样的东西: : http://snipt.net/javagner : It's work! 但是,我如何知道这样是对的? : 事实上,不管是一个 module、两个 module,还是渗了 JSP, : 我认为都可以做出相同的功能, : 但哪一个方式是我真正应该做的呢? 抱歉,其实我英文很烂、程式也不太行 所以那个讨论跟程式码我都没有看 [殴飞] qrtt1 给的第二个连结看不懂所以没看 [泪奔] 我只能说,自从我被迫看了几个月的 ASP 也写了几个月的 PHP、trace 了一些 CodeIgniter 的 code 当然还有 trace 一些不太大,但是用了也没出事的 project 我会有种错觉,就是: 考虑这种问题,简直是屁..... 股很坚固可以好好久坐的人该研究的事情 (o 版主别打我) 这种事情哪有什麽对不对,只有出不出包 在出不出包之前要先考虑写不写的出来.... [远目] 嗯... 都说是错觉了... 所以让我们回到主题上 [殴飞] 如果让我来想 login 这个问题 基本上我一定二话不说,把 login 这档子事情归在 GWT 范围以外 事实上,应该可以很合理怀疑 google 是这样子作 login 的 (至少网址改变了) (迷之声:你是不会用 Firebug 之类的东西 trace 一下喔?) (答:ㄜ... 不会用 [殴飞]) 这可能跟 SSO/HTTPS 的议题有关? 不过我都没碰过,所以纯属胡说八道 [再度殴飞] 我想要抽出去到 GWT 以外的地方 主要是觉得,这跟 GWT 拿手 or 要解决的目标无关 如果对於 GWT 而言,只是要 server 给个 true/false 实质上跟实际的程式内容理论上无关 而抽出去用原始的方法作,也没什麽不好 让 GWT 的部份更单纯专一,感觉不错 : 这是我发这一篇文的主要目的。 : 接下来就就真的要提出疑问了: : 1. 用上面所提的登入方式, : 实际运作起来会是: : (1) client 端下载了 EntryPoint : (2) 利用 AJAX 检查是否有登入 : (3) Server 端回传登入结果 : (4) Client 端显示对应页面 : 跟其他的网页语言直接在 Server 端检查完後, : 便直接将对应画面输出给 Client 端的作法不同。 : 另外,据我刚才利用 firebug 观察的结果, : 步骤 (3) 传回来的结果并没有包含 步骤 (4) 显示的页面, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 这句话对我来说,有功能切割上的毛病 我会一个 RPC 决定 login 与否 然後才是一个 RPC 来真正 fetch 资料 : 也就是说,我在步骤 (1) 时, : 已经抓取了登入成功和失败时,欲显示的页面了, ^^^^^^^^^^^^^^^^? : 这样,会不会有安全性的问题? : ps. 我个人是觉得在写法正确下,不至於有问题,但还是提出来讨论看看 :P 理论上一定有 我目前还没看到(也可以说没关心 & 没能力)GWT 的安全性问题 但是,反过来讲 真正关键的资料内容还是从 server 传过来 js 里头只是决定「画面格式」跟「资料格式」 那麽,就算针对 js 解读成功,还是没办法拿到真正关键的资料 : 2. 上面的做法只能在进入 EntryPoint 时判断, : 那 Session/Cookie 过期时怎麽办? : 这边我还没有实际做, : 不过我认为应该是在呼叫 RPC 时, : 由 Server 端去检查 Session, : 如果不合格就丢出 Exception。 : Client 端收到 Exception 後就将画面导到 login page. 以传统 JSP 的作法 应该是由 filter 之类的方式来检查「每一个」request 我想,要考虑安全,这是免不了的 (还好 GWT RPC 有 Exception 可以用,写起来轻松一点 XD) : 3. 继续接续上面的问题, : Client 端收到 Exception 时, : 可能只是一个画面上的小 Panel 在处理, : 我要如何才能把整个画面切换到 login screen 呢? : (RootPanel 通常会在 EntryPoint 手上) : 我承认这是一个 Application 常见的简单问题啦 XD : 但是毕竟现在处理的是网页, : 会不会有其他更适合的 pattern 能够解决这个问题呢? : --- : 如果我的这篇文章没有什麽严重的误解的话, : 我想,是不是可以讨论看看一些在其他语言上常用的架构,该如何用 GWT 实现。 有时候觉得 GWT 红不起来 一方面是没有一个更 high level 的 framework 另一方面是,以往针对网页环境的概念跟架构 可能都不能马上(或着不能?)转移到 GWT 上头 得重新思考验证这样? 当然,对於一个没用过 Struts 之类东西的人 讲这话好像有点大言不惭... 以上有误还请各方大德不要客气... -- 侃侃长论鲜窒碍 众目睽睽无心颤 Blog:http://blog.psmonkey.org 茕居少聊常人事 杀头容易告白难 欢迎参观 Java 版(@ptt.cc) \囧/ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.20.190.68
1F:推 tkcn:我倒觉得 GWT 是故意要跟网页做出区别,主打 Web App 12/14 00:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP