小案例:get請求
登錄
因為是get請求,所以頻道了連接里面
<form action="/WEB04/LuanServlet" method="get"> 用戶名:<input type="text" name="username"><br> 密碼名:<input type="password" name="password"><br> <input type="submit" value="登錄"> </form>
post請求
<form action="/WEB04/BodyServlet" method="Post"> 用戶名:<input type="text" name="username" ><br> 愛好: <input type="checkbox" name="hobby" value="zq">足球 <input type="checkbox" name="hobby" value="lq">籃球 <input type="checkbox" name="hobby" value="ppq">乒乓球 <br> <input type="submit" value="提交"> </form> //servlet層 //獲取請求體的參數 //獲取請求體單個值 String username=request.getParameter("username"); System.out.println("單個值的username"+username); //獲取多個值 String [] hobbys=request.getParameterValues("hobby"); System.out.println("愛好:"); for(String s:hobbys){ System.out.println(s); } //獲取所有值Map集合,獲取單個的,多個數組的集合 Map<String,String[]> map=request.getParameterMap(); //先獲取到set集合的key值。 Set<String> set=map.keySet(); for(String key:set){ String [] value=map.get(key); System.out.println(key+":"); for( String s:value){ System.out.println(s+" "); } System.out.println(); //System.out.println(key+":"+map.get(key)); }
post不會顯示信息,安全
記錄上一次登錄的日期:
//不論如何都會請求的第一次 //創建日期對象,記錄當前訪問時間 Date date=new Date(); //轉換日期格式 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //獲取轉換后的日期字符串 String currentTime=sdf.format(date); //創建Cookie對象 Cookie cookie=new Cookie("LastTime",currentTime); //設置持久化時間 cookie.setMaxAge(60*10); //發送cookie response.addCookie(cookie); //獲取客戶端攜帶的cookie---lastTime Cookie [] cookies=request.getCookies(); //定義下lasttime String lastTime=null; //遍歷,獲取name是lastTime的cookie對象中的value值 if(cookies!=null){ for(Cookie c:cookies){ //判斷cookie和lasttime時間是不是對的上 if(c.getName().equals("LastTime")){ lastTime=c.getValue(); } } } //解決中文亂碼 response.setContentType("text/html;charset=UTF-8"); if(lastTime==null){ response.getWriter().write("您是第一次訪問"); System.out.println("您是第一次訪問"); }else{ response.getWriter().write("您上次訪問的時間是"+lastTime); System.out.println("您上次訪問的時間是"+lastTime); } }
第一次訪問瀏覽器,客戶端沒有緩存,顯示
如果再次登入:顯示相應的時間。2019-09-28 15:53