作者etman395 (技術時代)
看板java
標題Re: [JSP ]請教session的問題
時間Tue Sep 29 15:12:47 2009
a網頁
先getattribute("admin")
判斷不為空
sendredirect 到b網頁
下面接著寫 a網頁的登錄畫面
登錄成功把admin屬性設進去seession
b網頁
剛好相反
一樣先getattribute("admin")
判斷為空
sendredirect 到a網頁
下面寫b網頁要顯示的內容
比較要注意的是比較時 object.equals(null)
如果getattribute("admin") 抓出來是null
按上面寫法會拋出NullPointerException
所以我寫都是 要核對的帳號.equals(從broser抓過來的值)
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ==.==== 先解決一些基本的 Java 問題吧...
: ※ 引述《sefthon1 (努力ing)》之銘言:
: : 各位前輩好
: : 在此問一下有關於session的登入判斷
: : 在jsp內分別用"網頁一"與"網頁二"區分
: : 網頁一
: : if(session.getAttribute("admin")=="true"{
: ^ 很容易就會發現少「)」 吧 ==.===
: 接下來,請先回答
: session 在 JSP 是俗稱的「隱含物件」
: 那麼,他原本的 class 是哪一個?好像是 HttpSession 吧?
: 找到對應的 API 之後,看一下 getAttribute() 回傳啥?
: 順便把 setAttribute() 也看一下吧... Orz
: 假設你寫的沒錯
: 再者,Java 裡頭字串比對是用「==」嗎?
: 那麼,這段程式碼會是啥?
: String test = "test";
: String test2 = "test";
: System.out.println(test==test2);
: : response.sendRedirect("網頁二.jsp");
: 沒有縮排
: : }
: : else{
: : 顯示登入的畫面;
: : 網頁二
: : session=request.getSesssion();
: : session.setAttributy("admin","true");
: setAttribute
: 即使你不是複製貼上,也不能把程式碼打錯成這樣
: : 功能是想要網頁一是登入頁面,登入後會連到網頁二
: : 如果在重按網頁一的話要如何才能直接導向網頁二而不用在重覆登入??
: : 但在網頁一第一次執行時(尚未登入),網頁直接自己導向網頁二,而不是顥示登入的畫面.
: : 請問一下各位前輩,這樣的session要如何使用??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.106.19.33
→ sbrhsieh:反了。null.equals(object) 才會拋出 exception。 09/29 16:03
→ sbrhsieh:判斷一個值是不是 null,只要使用 operator == 即可。 09/29 16:04
※ 編輯: etman395 來自: 123.110.83.12 (09/29 21:44)
→ etman395:謝謝提醒 09/29 21:45
推 bilsted:不過這篇也寫得很清楚啦XD 推一個 09/30 22:50
推 sefthon1:多謝大大的教學~~~我大概懂了~~ 10/01 21:45