日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)

發(fā)布時(shí)間:2024/2/28 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Javaweb

面試題;理解才是最重要的,而不是原封不動(dòng)的背下來

一.請(qǐng)簡(jiǎn)述doget和dopost它們的區(qū)別

1) get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。

2) 在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTML HEADER內(nèi)提交。

3) 對(duì)于get方式,服務(wù)器端用request.getQueryString()可以獲取GET請(qǐng)求參數(shù)的變量值,

對(duì)于post方式,服務(wù)器端用request.getParameter獲取提交的數(shù)據(jù)。

4) GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。

5) 安全性問題。正如在(1)中提到,使用 Get 的時(shí)候,參數(shù)會(huì)顯示在地址欄上,而 Post 不會(huì)。?所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用 get;

如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。

2、簡(jiǎn)述servlet的生命周期?

參考答案:

所謂生命周期,指的是servlet容器如何創(chuàng)建servlet實(shí)例、分配其資源、調(diào)用其方法、并銷毀其實(shí)例的整個(gè)過程。

階段一: 實(shí)例化(就是創(chuàng)建servlet對(duì)象,調(diào)用構(gòu)造器)

在如下兩種情況下會(huì)進(jìn)行對(duì)象實(shí)例化。

第一種情況:

當(dāng)請(qǐng)求到達(dá)容器時(shí),容器查找該servlet對(duì)象是否存在,如果不存在,才會(huì)創(chuàng)建實(shí)例。

第二種情況:

容器在啟動(dòng)時(shí),或者新部署了某個(gè)應(yīng)用時(shí),會(huì)檢查web.xml當(dāng)中,

servlet是否有 load-on-starup配置。如果有,則會(huì)創(chuàng)建該servlet實(shí)例。

load-on-starup參數(shù)值越小,優(yōu)先級(jí)越高(最小值為0,優(yōu)先級(jí)最高)。

階段二: 初始化

為servlet分配資源,調(diào)用init(ServletConfig config);方法

config對(duì)象可以用來訪問servlet的初始化參數(shù)。

初始化參數(shù)是使用init-param配置的參數(shù)。

init可以override。

階段三: 就緒/調(diào)用

有請(qǐng)求到達(dá)容器,容器調(diào)用servlet對(duì)象的service()方法。

HttpServlet的service()方法,會(huì)依據(jù)請(qǐng)求方式來調(diào)用doGet()或者doPost()方法。但是,這兩個(gè)do方法默認(rèn)情況下,會(huì)拋出異常,需要子類去override。

階段四: 銷毀

容器依據(jù)自身的算法,將不再需要的servlet對(duì)象刪除掉。

在刪除之前,會(huì)調(diào)用servlet對(duì)象的destroy()方法。

destroy()方法用于釋放資源。

在servlet的整個(gè)生命周期當(dāng)中,init,destroy只會(huì)執(zhí)行一次,而service方法會(huì)執(zhí)行多次。

3.請(qǐng)簡(jiǎn)述一下部署Serlvet的過程

test

TestServlet

test

/TestServlet

4. 有一個(gè)用戶名 test, 密碼 12345, 請(qǐng)編寫一段創(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. 請(qǐng)簡(jiǎn)述Cookie, Session 和Application它們的區(qū)別。

1) Cookie會(huì)在客戶端硬盤上創(chuàng)建Cookie文件

2) Session大部分情況下會(huì)在服務(wù)器端硬盤上寫入Cookie文件

3) Cookie安全性最低

4) Application 表示Servlet上下文環(huán)境,在整個(gè)WEB應(yīng)用中只有一個(gè)Application對(duì)象,用于存儲(chǔ)些全局性的數(shù)據(jù)

6.有如下所示的頁面:

頁面里有一個(gè)form表單:

多選框:

請(qǐng)編寫JavaScript代碼,實(shí)現(xiàn)該表單多選框的 “全選”“全不選” 功能。

——————————全選——————————–

//拿到form表單

Var f = document.getElementByName(“buyForm”);

Var cb = f.isBuy;

For(i=0;i

If(cb[i]. checked ==false) cb[i]. checked = true;

}

7. 有這樣一個(gè)form表單,如下圖:

Form表單:

name=”userfrm” method=”post” action=”register_success.htm” >

登錄名:

name=”username” type=”text”>

密碼:

name=”pass” type=”password”>

重復(fù)密碼:

name=”rpass” type=”password”>

請(qǐng)編寫javascript程序?qū)崿F(xiàn)該表單的客戶端驗(yàn)證。

要求

1) 密碼不能為空并且最少為6位,還要求兩次輸入的密碼要一致

2) 登錄名不能為空,且只能包括字母、數(shù)字和下劃線字符

Var f =document.getElementsByName(“userfrm”);

Var isValiUserName= false, isValiPassword = false;

If(f. username!=”” && f. username!=”undefined”){//正則表達(dá)式驗(yàn)證只能包括字母、數(shù)字和下劃線字符

var re = new RegExp(“[a-zA-Z0-9]{5,20}”,”ig”);var str =“f.username.value”;

isValiUserName= re.test(str); //得到用戶名true/false的校驗(yàn)結(jié)果

}//校驗(yàn)密碼

If(f. password!=”” && f.password.length>=6 && f.password==f.rpassword){

isValiPassword= true;

}

If(isValiUserName==true && isValiPassword==true) return true;

Returnfalse;

8. 請(qǐng)簡(jiǎn)述一下ajax的原理及實(shí)現(xiàn)步驟。

原理: HTTP協(xié)議的異步通信

get 請(qǐng)求

1) 創(chuàng)建一個(gè)XMLHttpRequest對(duì)象

2) 調(diào)用該對(duì)象的open方法

3) 如果是get請(qǐng)求,設(shè)置回調(diào)函數(shù)onreadystatechange = callback

4) Send

如果是post 請(qǐng)求

5) 創(chuàng)建一個(gè)XMLHttpRequest對(duì)象

6) 調(diào)用該對(duì)象的open方法

7) 調(diào)用setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);

8) 設(shè)置回調(diào)函數(shù)onreadystatechange = callback

9) Send

9. 有如下一段HTML代碼:請(qǐng)使用jquery實(shí)現(xiàn)頁面的li元素基于奇數(shù)偶數(shù)的顏色換行

.odd{

}.even{background-color:red;

}

jquery 學(xué)習(xí)1jquery 學(xué)習(xí)2jquery 學(xué)習(xí)3jquery 學(xué)習(xí)4jquery 學(xué)習(xí)5jquery 學(xué)習(xí)6

$(document).ready(function() {

$(‘li:even’).addClass(‘even’);

$(‘li:odd’).addClass(‘odd’);

});

10.SESSION的工作原理

session啟動(dòng)的時(shí)候被分配到一個(gè)專有的session id .服務(wù)器為其分配一塊內(nèi)存 .瀏覽器將其寫入Cookie.

服務(wù)器中的一進(jìn)程會(huì)監(jiān)視該session id,當(dāng)它超時(shí)或者關(guān)閉時(shí)候釋放內(nèi)存.當(dāng)瀏覽器連入服務(wù)器時(shí),

會(huì)在Cookie中尋找該session id.并判斷該id是否有效.有效就去讀取其中的值.無效重新建立一個(gè)session id

總結(jié)

以上是生活随笔為你收集整理的java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。