<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
上面是jsp頁面中的一段java代碼,
request.getContextPath(); 獲取項目名稱
request.getScheme() ? ? ? ? ?獲取協(xié)議名稱
request.getServerName() ? 獲取服務端主機的名字。例如有梆,本機就是localhost
request.getServerPort() ? ? ? 獲取服務端的端口
以前的一個疑問:一個處理用戶請求的action方法的HttpServletRequest ?request 形參是尖,是誰為這個形參傳入了實參?
當然是servlet小伺服程序了泥耀,是她把用戶的請求數(shù)據(jù)放入到這個實例中的饺汹。
可以想象,用戶訪問(請求)了該action(肯定攜帶了一些用戶自身數(shù)據(jù):用戶ip痰催、端口兜辞、自定義的一些參數(shù)等等),
servlet把這些數(shù)據(jù)打包夸溶,放到request中逸吵。
jsp是什么?
1缝裁、如果用戶請求的是一個HTML靜態(tài)頁面扫皱,這就屬于靜態(tài)資源了。服務器原樣返回給瀏覽器压语,瀏覽器根據(jù)超文本格式解析啸罢、展示就可以了编检。
這時胎食,沒有jsp什么事。
2允懂、用戶請求一個動態(tài)頁面時(用戶和服務端交互數(shù)據(jù))厕怜,
比如:用戶在瀏覽器上輸入了一個一些字符,并想保存到服務端蕾总。當用戶點保存時粥航,瀏覽器會執(zhí)行相應的js方法(瀏覽器組件中有js解釋器),按照相應的get/post 方式生百,將請求發(fā)送到服務端递雀。
服務端處理后,還可以根據(jù)要求蚀浆,將該數(shù)據(jù)展示到瀏覽器(局部刷新的方式)缀程。