欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:Servlet

柚子快報(bào)邀請(qǐng)碼778899分享:Servlet

http://yzkb.51969.com/

執(zhí)行流程

1.瀏覽器發(fā)送請(qǐng)求到tomcat服務(wù)器,tomcat服務(wù)器創(chuàng)建httpservletrequest對(duì)象和httpservletresponse對(duì)象。

2.java代碼servlet類(lèi)需要實(shí)現(xiàn)servlet接口,重寫(xiě)service方法。

3.tomcat根據(jù)請(qǐng)求的路徑,找對(duì)應(yīng)的java servlet類(lèi)。執(zhí)行service方法。

url-pattern

web.xml中url-pattern將訪(fǎng)問(wèn)路徑和servlet映射對(duì)應(yīng)上,/表示全部。也可以使用@WebServlet("/add")注解。

servlet生命周期

實(shí)例化 第一次請(qǐng)求時(shí)/服務(wù)啟動(dòng)時(shí),調(diào)用構(gòu)造器,完成實(shí)例化操作。如果web.xml中加了正整數(shù)配置,就聲明是啟動(dòng)服務(wù)時(shí)調(diào)用構(gòu)造器。初始化 實(shí)例化之后,構(gòu)造完畢,調(diào)用init方法。處理請(qǐng)求 每次發(fā)起請(qǐng)求銷(xiāo)毀 關(guān)閉服務(wù)的時(shí)候

servlet采用的是單例模式,多個(gè)客戶(hù)端訪(fǎng)問(wèn)可能會(huì)出現(xiàn)線(xiàn)程安全問(wèn)題。所以不建議在service方法中修改變量的值。加鎖,會(huì)嚴(yán)重影響性能。

defalutservlet是處理靜態(tài)資源,裝進(jìn)response對(duì)象中,根據(jù)后綴設(shè)置content-type。在springmvc中defalutservlet不生效,需要重新配置。

請(qǐng)求轉(zhuǎn)發(fā)和響應(yīng)重定向

請(qǐng)求轉(zhuǎn)發(fā)

請(qǐng)求轉(zhuǎn)發(fā):應(yīng)用內(nèi)部將客戶(hù)端請(qǐng)求發(fā)送給另一個(gè)servlet,只有一對(duì)request、response對(duì)象。由第一個(gè)servlet傳遞給第二個(gè)servlet。url不變。

演示:

//請(qǐng)求轉(zhuǎn)發(fā)器

//RequestDispatcher requestDispatcher =request.getRequestDispatcher ("servletB");

//RequestDispatcher requestDispatcher =request.getRequestDispatcher ("a.html");

//a.html在web目錄下

//RequestDispatcher requestDispatcher =request.getRequestDispatcher ("WEB-INF/b.html");

//b.html在web/WEB-INF/受保護(hù)目錄下

requestDispatcher.forword(request,response);

//傳遞請(qǐng)求和響應(yīng)參數(shù)

請(qǐng)求轉(zhuǎn)發(fā)是httpservletrequest對(duì)象實(shí)現(xiàn)的

請(qǐng)求轉(zhuǎn)發(fā)是服務(wù)器內(nèi)部的行為,對(duì)客戶(hù)端屏蔽

客戶(hù)端值發(fā)送了一次請(qǐng)求,服務(wù)端只產(chǎn)生了一對(duì)request、response對(duì)象

客戶(hù)端地址欄不變

請(qǐng)求的參數(shù)可以傳遞

目標(biāo)資源可以是另一個(gè)servlet的動(dòng)態(tài)資源,也可以是html靜態(tài)資源,也可以是受保護(hù)資源。

該方式是訪(fǎng)問(wèn)WEB-INF下資源的唯一方式。

目標(biāo)資源不能是外部資源,例如www.baidu.com。

響應(yīng)重定向

響應(yīng)重定向是客戶(hù)端向服務(wù)器發(fā)送請(qǐng)求后,服務(wù)器通過(guò)特殊的響應(yīng)頭告訴客戶(hù)端訪(fǎng)問(wèn)路徑

response.sendRedirect("servletB");

?響應(yīng)重定向是通過(guò)httpservletresponse對(duì)象實(shí)現(xiàn)的。

響應(yīng)重定向是在服務(wù)器的提示下客戶(hù)端的行為。

客戶(hù)端的地址欄變化,客戶(hù)端至少發(fā)送了兩次請(qǐng)求。產(chǎn)生了兩對(duì)request、response對(duì)象。參數(shù)不能傳遞。

目標(biāo)資源可以是web目錄下的視圖資源,但是不能是WEB-INF下的視圖資源。

目標(biāo)資源可以是外部資源。

亂碼問(wèn)題

get請(qǐng)求亂碼

get請(qǐng)求,表單、直接輸入url

原因:請(qǐng)求的視圖資源的charset編碼屬性和server.xml中的解碼方式不一致。

請(qǐng)求頭中 GET URI?name='lisa' http/1.1

解決:修改tomcat中server.xml中的connecter屬性中的uri解碼方式。

?post請(qǐng)求亂碼

原因:視圖資源的編碼方式和tomcat解碼方式不一致

請(qǐng)求行Post URI http/1.1

請(qǐng)求頭

請(qǐng)求體 name='Lisa'

解決:request.setCharacterEncoding("XXX")設(shè)置請(qǐng)求體編碼方法

響應(yīng)亂碼

設(shè)置響應(yīng)編碼格式

response.setCharacterEncoding("UTF-8")

//不好,因?yàn)槿绻菄?guó)外的瀏覽器,可能瀏覽器解碼格式不確定

設(shè)置瀏覽器解碼方式

response.setContentType("text\html;charset=UTF-8");

cookie和session

創(chuàng)建cookie后,每次請(qǐng)求頭都會(huì)攜帶cookie。

Cookie c=new Cookie("key","value");

c.setMaxAge(秒);

response.setCookie(c);

cookie如果不設(shè)置失效,就是會(huì)話(huà)級(jí)別的。關(guān)閉瀏覽器就消失了。

session

獲取session,如果沒(méi)有就創(chuàng)建session。向session中存入key-value格式數(shù)據(jù)。

session有超時(shí)時(shí)間。tomcat的在web.xml中默認(rèn)配置30分鐘。

30

session的獲取和設(shè)置?

HttpSession session=request.getSession();

session.getId();

session.isNew();

session.setAttribute("key",object對(duì)象);

session.getAttribute("key");

過(guò)濾器

web.xml配置過(guò)濾器

myFilter

com.qcby.Filter.MyFilter

myFilter

/*

生命周期

構(gòu)造? 服務(wù)啟動(dòng)的時(shí)候 1次

初始化 構(gòu)造結(jié)束之后 1次

過(guò)濾方法 請(qǐng)求之前

銷(xiāo)毀? 服務(wù)結(jié)束之后

過(guò)濾器鏈中的順序由web.xml中的,filtermapping順序決定的。

注解配置Filter @WebFilter("/*")注解,注解配置過(guò)濾器鏈中,類(lèi)名決定過(guò)濾器鏈順序。

ServletContext對(duì)象

單例模式,應(yīng)用域?qū)ο蟆?/p>

1.可以為應(yīng)用設(shè)置全局配置。

web.xml

application_key

application_value

// 獲取應(yīng)用域?qū)ο?配置的信息

ServletContext application = getServletContext();

String application_key = application.getInitParameter("application_key");

System.out.println("獲取域?qū)ο髮傩?"+application_key);

2.獲取路徑相關(guān)

//獲取項(xiàng)目部署的上下文路徑。tomcat里配置的/前綴

String contextPath = application.getContextPath();

System.out.println("上下文路徑:"+contextPath);

//獲取部署項(xiàng)目位置下某個(gè)文件的真實(shí)路徑

String realPath = application.getRealPath("qcby");

System.out.println("qcby真實(shí)路徑是:"+realPath);

3.設(shè)置屬性,多個(gè)servlet共享

servlet1

ServletContext application = getServletContext(); //域?qū)ο蠖紩?huì)有的方法,getattribute setattribute removeattribute application.setAttribute("key","value");

servlet2

ServletContext application = getServletContext();

Object key = application.getAttribute("key");

ajax

請(qǐng)求的方式:瀏覽器直接輸?shù)刂?、html head中的script、link 、img。a標(biāo)簽、form表單。js發(fā)送請(qǐng)求。

異步請(qǐng)求和同步請(qǐng)求

不必等待響應(yīng)回來(lái)就能繼續(xù)發(fā)請(qǐng)求。

ajax實(shí)現(xiàn)方式:原生的js代碼->jquery->vue框架的axios

柚子快報(bào)邀請(qǐng)碼778899分享:Servlet

http://yzkb.51969.com/

好文推薦

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀(guān)點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/19312189.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪(fǎng)問(wèn)

文章目錄