Ybtoj 方塊消除
一.HTTP協議
1.http和https
http:不加密
https:加密
2.post和get和options(第一次握手:是否可以傳送正式請求)
二.轉發和重定向的區別
1.重定向
伺服器告訴客戶端,你去請求另外一個地址;客戶端行為
(1)位址列會變
(2)不能攜帶引數
resp.sendRedirect("url");
2.轉發
伺服器自己轉發到伺服器上的另一個請求; 伺服器行為
(1)位址列不會變
(2)可以攜帶引數
//放入引數ID
req.setAttribute(“ID”,ID);
req.getRequestDispatcher("success.jsp").forward(req,resp);
//獲取引數ID
request.getAttribute(“ID”);
(request.getParma..(“ID”);是獲取傳遞的響應引數)
三.session
“會話控制”。當用戶在應用程式的Web頁之間跳轉時,儲存在session物件中的變數將不會丟失,而是在整個使用者會話中一直存在下去。
1.只要客戶端一旦連線上伺服器,伺服器就會自動產生Session;一個連線對應一個session,session可以在一個會話中傳遞資訊
2.session儲存資料以K-V形式,K不能為空,同樣的K,若V不同則會進行替換。
3.使用
(1)通過setAttribute設定值。
session.setAttribute("username", "zhangsan");//儲存資料
(2)通過getAttribute獲得值。
session.getAttribute("username");//獲取資料
(3)通過removeAttribute刪除值
session.removeAttribute("username");//刪除資料
四.地址的寫法
1.分析
(1)路徑是誰發起的(瀏覽器or伺服器)
(2)路徑開頭直接 “/” 表示當前路徑(主要就是這個當前路徑,搞清楚就明白了)
2.具體寫法
(1)轉發由伺服器發起的,其他都是由瀏覽器發起的。
(2)程式碼
①重定向
response.sendRedirect("/WebPath/index.jsp");
②轉發
request.getRequestDispatcher("/index.jsp
③超連結
response.setContentType("text/html"); response.getWriter().write(" <html> <head></head> <body> <a href='/WebPath/index.jsp'>index.jsp<a> </body> </html>" );
④表單提交
response.setContentType("text/html"); response.getWriter().write(" <html> <head></head> <body> <form action='/WebPath/index.jsp'> <input type='submit' value='to index.jsp'/> </form> </body> </html> ");
3.總結
1、由瀏覽器發起的路徑,“/”表示%tomcat根目錄%/webapps根目錄(專案根目錄)
2、由伺服器發起的路徑,“/”表示專案中的WebRoot根目錄
五.web.xml檔案
為servlet設定別名
<servlet> <servlet-name>LoginServlet</servlet-name> //別名(簡潔方便) <servlet-class>com.servlet.LoginServlet</servlet-class> //原名(太長太複雜,不便於使用) </servlet> <servlet-mapping> <servlet-name>LoginServlet</servlet-name> //對應的對映,將它們聯絡起來 <url-pattern>/Login</url-pattern> //網頁顯示時的地址字尾 </servlet-mapping>
六.form下拉選框
1.form內容
<form>
<select name="part">
<option value="A">兒科</option>
<option value="B">外科</option>
</select>
<input value="提交" type="submit">
<form/>
2.servlet獲取
根據name屬性值即可接收,會接收到被選中<option>裡的value屬性值
String part = request.getParameter("part");
(結果:part=”A”or”B”)