javascript
JSP错题纠错
?
request.getParameter("userId")得到的是第一個表單元素名稱為“userId”的值,而要獲得同名的多個表單元素的值,則需要通過request.getParameterValues(“userId”)來獲取,返回一個字符串數組。所以答案為bc。
?
?
index.jsp中form中name為loginName最終值是bdqn到達loginDo.jsp后
再使用轉發方式跳轉到loginSuccess.jsp,故request的信息沒有丟失使用可以得到參數名為loginName值是bdqn
首先,session的出現確實是為了解決HTTP無法保持客戶狀態的特點;因此A選項正確;用戶信息也是客戶狀態的一部分,所以由A可以看出B的說法就不對了;接著,Session里信息是否安全并不取決于存放在哪里,而取決于session實現機制和獲取機制,而且session也沒有明確的規定其存放空間的大小限制,因此C、D也不對;?
提交表單請求時,應為設置請求的字符編碼,語法格式應該是:request.setCharacterEncoding("GBK"); 所以D答案正確?
Config對象是在服務器啟動時就自動創建的對象,而Servlet創建時,通常是通過其獲取初始化所需的信息。答案選A
靜態包含將頁面包含進來以后在一起執行。此時變量i重名
01.從客戶端發送的請求數量來看,重定向是向服務器發送了兩次請求。而轉發是服務器內部進的操作,只發送了一次請求,request對象中的數據可以保留 。
??02.從URL顯示的角度來說:重定向這兩次請求都是直接受瀏覽器干預的。也就是說重定向后url地址欄里看到的地址發生變化了。而轉發是由服務器內部從一個資源頁面定位到另一個資源頁面,并沒有經過瀏覽器干預,所以url地址欄沒有發生改變。
結論:要想在request中保存數據,那么就使用轉發,否則使用重定向。
?
重定向和轉發有一個重要的不同:當使用轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。 與之相反,重定向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。因為,當你使用重定向時,瀏覽器中所顯示的URL會變成新頁面的URL, 而當使用轉發時,該URL會保持不變。重定向的速度比轉發慢,因為瀏覽器還得發出一個新的請求。同時,由于重定向方式產生了一個新的請求,所以經過一次重定向后,request內的對象將無法使用。
??????????怎么選擇是重定向還是轉發呢?通常情況下轉發更快,而且能保持request內的對象,所以他是第一選擇。但是由于在轉發之后,瀏覽器中URL仍然指向開始頁面,此時如果重載當前頁面,開始頁面將會被重新調用。如果你不想看到這樣的情況,則選擇轉發。
轉發和重定向的區別
不要僅僅為了把變量傳到下一個頁面而使用session作用域,那會無故增大變量的作用域,轉發也許可以幫助你解決這個問題。
重定向:以前的request中存放的變量全部失效,并進入一個新的request作用域。
轉發:以前的request中存放的變量不會失效,就像把兩個頁面拼到了一起。
response.sendRedirect("index2.jsp");為重定向,得不到request對象里的值,所以輸出內容為null。答案a正確
所有的JSP都會在客戶端發出請求后被容器轉譯成servlet的源代碼(java),然后再將源碼(java)編譯成servlet的類(class),放入到內存里面。其中,<%! ?int a=0;%>定義的是類的成員變量,<% int b=0; %>則定義的是service方法中的局部變量。除第一次請求外,其他兩次請求都只調用service方法。本題答案為c。
?
重定向是客戶端行為,是發送的二次請求,所以不能使用第一次請求中request的數據 a答案錯誤1 寫入Cookie的語法:
response.addCookie(cookName);
response.sendRedirect("地址");
2 讀取Cookie信息:
request.getCookies();
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/1And0/p/5638203.html
總結
- 上一篇: 转,JSON解析2
- 下一篇: 轻量高效的开源JavaScript插件和