java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)
Javaweb
面試題;理解才是最重要的,而不是原封不動的背下來
一.請簡述doget和dopost它們的區(qū)別
1) get是從服務器上獲取數據,post是向服務器傳送數據。
2) 在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方式,數據放置在HTML HEADER內提交。
3) 對于get方式,服務器端用request.getQueryString()可以獲取GET請求參數的變量值,
對于post方式,服務器端用request.getParameter獲取提交的數據。
4) GET方式提交的數據最多只能有1024字節(jié),而POST則沒有此限制。
5) 安全性問題。正如在(1)中提到,使用 Get 的時候,參數會顯示在地址欄上,而 Post 不會。?所以,如果這些數據是中文數據而且是非敏感數據,那么使用 get;
如果用戶輸入的數據不是中文字符而且包含敏感數據,那么還是使用 post為好。
2、簡述servlet的生命周期?
參考答案:
所謂生命周期,指的是servlet容器如何創(chuàng)建servlet實例、分配其資源、調用其方法、并銷毀其實例的整個過程。
階段一: 實例化(就是創(chuàng)建servlet對象,調用構造器)
在如下兩種情況下會進行對象實例化。
第一種情況:
當請求到達容器時,容器查找該servlet對象是否存在,如果不存在,才會創(chuàng)建實例。
第二種情況:
容器在啟動時,或者新部署了某個應用時,會檢查web.xml當中,
servlet是否有 load-on-starup配置。如果有,則會創(chuàng)建該servlet實例。
load-on-starup參數值越小,優(yōu)先級越高(最小值為0,優(yōu)先級最高)。
階段二: 初始化
為servlet分配資源,調用init(ServletConfig config);方法
config對象可以用來訪問servlet的初始化參數。
初始化參數是使用init-param配置的參數。
init可以override。
階段三: 就緒/調用
有請求到達容器,容器調用servlet對象的service()方法。
HttpServlet的service()方法,會依據請求方式來調用doGet()或者doPost()方法。但是,這兩個do方法默認情況下,會拋出異常,需要子類去override。
階段四: 銷毀
容器依據自身的算法,將不再需要的servlet對象刪除掉。
在刪除之前,會調用servlet對象的destroy()方法。
destroy()方法用于釋放資源。
在servlet的整個生命周期當中,init,destroy只會執(zhí)行一次,而service方法會執(zhí)行多次。
3.請簡述一下部署Serlvet的過程
test
TestServlet
test
/TestServlet
4. 有一個用戶名 test, 密碼 12345, 請編寫一段創(chuàng)建COOKIE的JSP代碼, 然后再編寫一段讀取COOKIE的JSP代碼, 在頁面上將COOKIE的信息顯示出來。
String str = “username= test&password=12345”;
Cookie cookie=new Cookie(“mycookie”, str);
response.addCookie(cookie);
Cookie cookies[]=request.getCookies();
For(int i=0;i< cookies.length;i++){
Out.print(cookies.getName+”=”+ cookies.getValue());
5. 請簡述Cookie, Session 和Application它們的區(qū)別。
1) Cookie會在客戶端硬盤上創(chuàng)建Cookie文件
2) Session大部分情況下會在服務器端硬盤上寫入Cookie文件
3) Cookie安全性最低
4) Application 表示Servlet上下文環(huán)境,在整個WEB應用中只有一個Application對象,用于存儲些全局性的數據
6.有如下所示的頁面:
頁面里有一個form表單:
,多選框:
請編寫JavaScript代碼,實現該表單多選框的 “全選”“全不選” 功能。
——————————全選——————————–
//拿到form表單
Var f = document.getElementByName(“buyForm”);
Var cb = f.isBuy;
For(i=0;i
If(cb[i]. checked ==false) cb[i]. checked = true;
}
7. 有這樣一個form表單,如下圖:
Form表單:
name=”userfrm” method=”post” action=”register_success.htm” >
登錄名:
name=”username” type=”text”>
密碼:
name=”pass” type=”password”>
重復密碼:
name=”rpass” type=”password”>
請編寫javascript程序實現該表單的客戶端驗證。
要求
1) 密碼不能為空并且最少為6位,還要求兩次輸入的密碼要一致
2) 登錄名不能為空,且只能包括字母、數字和下劃線字符
Var f =document.getElementsByName(“userfrm”);
Var isValiUserName= false, isValiPassword = false;
If(f. username!=”” && f. username!=”undefined”){//正則表達式驗證只能包括字母、數字和下劃線字符
var re = new RegExp(“[a-zA-Z0-9]{5,20}”,”ig”);var str =“f.username.value”;
isValiUserName= re.test(str); //得到用戶名true/false的校驗結果
}//校驗密碼
If(f. password!=”” && f.password.length>=6 && f.password==f.rpassword){
isValiPassword= true;
}
If(isValiUserName==true && isValiPassword==true) return true;
Returnfalse;
8. 請簡述一下ajax的原理及實現步驟。
原理: HTTP協(xié)議的異步通信
get 請求
1) 創(chuàng)建一個XMLHttpRequest對象
2) 調用該對象的open方法
3) 如果是get請求,設置回調函數onreadystatechange = callback
4) Send
如果是post 請求
5) 創(chuàng)建一個XMLHttpRequest對象
6) 調用該對象的open方法
7) 調用setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);
8) 設置回調函數onreadystatechange = callback
9) Send
9. 有如下一段HTML代碼:請使用jquery實現頁面的li元素基于奇數偶數的顏色換行
.odd{
}.even{background-color:red;
}
jquery 學習1jquery 學習2jquery 學習3jquery 學習4jquery 學習5jquery 學習6$(document).ready(function() {
$(‘li:even’).addClass(‘even’);
$(‘li:odd’).addClass(‘odd’);
});
10.SESSION的工作原理
session啟動的時候被分配到一個專有的session id .服務器為其分配一塊內存 .瀏覽器將其寫入Cookie.
服務器中的一進程會監(jiān)視該session id,當它超時或者關閉時候釋放內存.當瀏覽器連入服務器時,
會在Cookie中尋找該session id.并判斷該id是否有效.有效就去讀取其中的值.無效重新建立一個session id
總結
以上是生活随笔為你收集整理的java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: X99主板配什么内存?内存频率、容量、品
- 下一篇: java上传文件至nas_使用JCIFS