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

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:Servlet

柚子快報邀請碼778899分享:Servlet

http://yzkb.51969.com/

執(zhí)行流程

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

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

3.tomcat根據(jù)請求的路徑,找對應的java servlet類。執(zhí)行service方法。

url-pattern

web.xml中url-pattern將訪問路徑和servlet映射對應上,/表示全部。也可以使用@WebServlet("/add")注解。

servlet生命周期

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

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

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

請求轉發(fā)和響應重定向

請求轉發(fā)

請求轉發(fā):應用內部將客戶端請求發(fā)送給另一個servlet,只有一對request、response對象。由第一個servlet傳遞給第二個servlet。url不變。

演示:

//請求轉發(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/受保護目錄下

requestDispatcher.forword(request,response);

//傳遞請求和響應參數(shù)

請求轉發(fā)是httpservletrequest對象實現(xiàn)的

請求轉發(fā)是服務器內部的行為,對客戶端屏蔽

客戶端值發(fā)送了一次請求,服務端只產(chǎn)生了一對request、response對象

客戶端地址欄不變

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

目標資源可以是另一個servlet的動態(tài)資源,也可以是html靜態(tài)資源,也可以是受保護資源。

該方式是訪問WEB-INF下資源的唯一方式。

目標資源不能是外部資源,例如www.baidu.com。

響應重定向

響應重定向是客戶端向服務器發(fā)送請求后,服務器通過特殊的響應頭告訴客戶端訪問路徑

response.sendRedirect("servletB");

?響應重定向是通過httpservletresponse對象實現(xiàn)的。

響應重定向是在服務器的提示下客戶端的行為。

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

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

目標資源可以是外部資源。

亂碼問題

get請求亂碼

get請求,表單、直接輸入url

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

請求頭中 GET URI?name='lisa' http/1.1

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

?post請求亂碼

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

請求行Post URI http/1.1

請求頭

請求體 name='Lisa'

解決:request.setCharacterEncoding("XXX")設置請求體編碼方法

響應亂碼

設置響應編碼格式

response.setCharacterEncoding("UTF-8")

//不好,因為如果是國外的瀏覽器,可能瀏覽器解碼格式不確定

設置瀏覽器解碼方式

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

cookie和session

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

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

c.setMaxAge(秒);

response.setCookie(c);

cookie如果不設置失效,就是會話級別的。關閉瀏覽器就消失了。

session

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

session有超時時間。tomcat的在web.xml中默認配置30分鐘。

30

session的獲取和設置?

HttpSession session=request.getSession();

session.getId();

session.isNew();

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

session.getAttribute("key");

過濾器

web.xml配置過濾器

myFilter

com.qcby.Filter.MyFilter

myFilter

/*

生命周期

構造? 服務啟動的時候 1次

初始化 構造結束之后 1次

過濾方法 請求之前

銷毀? 服務結束之后

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

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

ServletContext對象

單例模式,應用域對象。

1.可以為應用設置全局配置。

web.xml

application_key

application_value

// 獲取應用域對象,配置的信息

ServletContext application = getServletContext();

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

System.out.println("獲取域對象屬性:"+application_key);

2.獲取路徑相關

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

String contextPath = application.getContextPath();

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

//獲取部署項目位置下某個文件的真實路徑

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

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

3.設置屬性,多個servlet共享

servlet1

ServletContext application = getServletContext(); //域對象都會有的方法,getattribute setattribute removeattribute application.setAttribute("key","value");

servlet2

ServletContext application = getServletContext();

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

ajax

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

異步請求和同步請求

不必等待響應回來就能繼續(xù)發(fā)請求。

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

柚子快報邀請碼778899分享:Servlet

http://yzkb.51969.com/

好文推薦

評論可見,查看隱藏內容

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

轉載請注明,如有侵權,聯(lián)系刪除。

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

發(fā)布評論

您暫未設置收款碼

請在主題配置——文章設置里上傳

掃描二維碼手機訪問

文章目錄