程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> servlet中的細節,servlet細節

servlet中的細節,servlet細節

編輯:JAVA綜合教程

servlet中的細節,servlet細節


Get方法有大小限制:1024個字符。這些信息使用 Query_String頭傳遞,並通過Query_String環境變量訪問。
Post方法:請求體信息使用FromData頭傳遞。
讀取所有表單參數:getParamterNames()方法。枚舉類型。
遍歷枚舉:使用hasMoreElements()來確定何時停止循環,使用nextElement()方法來獲取每個參數名稱。

 

Servlet請求:
String host = req.getHeader("Host"); // localhost:8080 主機和端口
String referer = req.getHeader("Referer"); // http://localhost:8080/myservlet/index.jsp 頁面1鏈接到頁面2,到頁面2後,頁面1的URL地址
String contextPath = req.getContextPath(); // /myservlet
String requestURI = req.getRequestURI(); // /myservlet/DisplayHeader
StringBuffer requestURL = req.getRequestURL(); // http://localhost:8080/myservlet/DisplayHeader
String requestedSessionId = req.getRequestedSessionId(); // F06D8A91D7A213B23BD42107CFA68601 Session 會話 id
int serverPort = req.getServerPort(); // 8080 端口號

http://localhost:8080/myservlet/DisplayHeader?method=show 詳解
http: 傳輸協議
localhost: 主機地址
8080: 端口號
myservlet: contextPath
DisplayHeader: servletPath
method=show: 參數


Servlet 響應:
resp.setContextType("text/html");
PrintWriter out = resp.getWriter();
out.print("hello world!");


一個有意思的小栗子(每隔5秒刷新頁面):
resp.setIntHeader("Refresh", 5);
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;

resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.print(CT);


Servlet過濾器目的:
在它們訪問後端資源之前,攔截這些來自客戶端的請求
在他們發送回客戶端之前,處理這些來自服務端的響應

規范建議的各種類型的過濾器:
身份驗證過濾器。
數據壓縮過濾器。
加密過濾器。
觸發訪問事件資源的過濾器。
圖像轉換過濾器。
日志記錄和審核過濾器。
MIME-類型鏈過濾器。
Tokenizing 過濾器。
轉換 XML 內容的 XSL/T 過濾器。


filter-mapping 順序決定了過濾順序


Cookie的鍵和值不能包含後邊的任意一個字符: [ ] ( ) = , " / ? @ : ;

Session:
刪除整個會話:你可以調用 public void invalidate() 方法來刪除整個會話。
設置會話超時:你可以調用 public void setMaxInactiveInterval(int interval) 方法來單獨設置會話超時。
web.xml 配置 Session 會話超時(分鐘):
<session-config>
<session-timeout>15</session-timeout>
</session-config>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved