以下是CSDN上一位叫[小鳥]的仁兄所著
Servlet三個要素:
1.必須繼承自HttpServlet
2.必須實現doGet()或者doPost()
3.必須在web.xml中配置Servlet <servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern></url-pattern>
</servelt-mapping>
HttpServeltRrequest: 請求對象
getParameter(): 獲得表單元素的值
getAttribute(): 獲得request範圍中的屬性值
setAttribute(): 設定reqeust範圍中的屬性值
setCharacterEncoding(): 設定字元編碼
HttpSerletResponse: 相應對象
sendRedirect(): 外部跳轉
getWriter(): 獲得輸出資料流對象
setContentType("text/html; charset=utf-8"): 設定相應內容格式和編碼
四種會話跟蹤方式:
1.Session
HttpSession session = request.getSession();
session.setAttribute("name", "zhangsan");
session.setAttribute("pwd", "aaa");
String name = (String) session.getAttribute("name");
2.cookie:
//建立Cookie
Cookie cookie = new Cookie("name", "zhangsan");
//設定Cookie的逾時時間
cookie.setMaxAge(24 * 60 * 60 *60);
//把Cookie發送到用戶端
response.addCookie(cookie);
//得到用戶端發送的Cookie
Cookie [] cookies = request.getCookies();
for(int i=0; i <cookies.length; i++) {
Cookie temp = cookies[i];
String key = temp.getName();
String value = temp.getValue();
}
3.隱藏表單域
<input type="hidden" name="name" value="zhangsan" />
request.getParameter("name");
4.Url重寫
問號傳參
LoginServlet?username=zhangsan&pwd=123
String name = request.getParameter("username");
String pwd =request.getPareameter("pwd");
內部跳轉:
LoginServlet
request.getRequestDispatcher("index.jsp").forward(request, resposne);
外部跳轉:
response.sendRedirect("index.jsp");
內部跳轉是一次請求和一次響應
外部跳轉是兩次請求和兩次響應
ServletContext: Servlet內容物件
它是一個公用地區,可以被所有的用戶端共用
setAttribute():向公用地區裡放入資料
getAttribute():從公用地區裡取資料