動態頁面,說白了,就是根據一定的信息(條件)去改變呈現給用戶的內容。
而這里所提到的一定的信息,通常就是指,在一個表單中用戶所輸入的信息。
先來看一個我們常見的用戶登錄界面吧。
在這里我們可以看到一共有三個頁面,登錄界面、登錄成功界面、登錄失敗界面。
但是,實際上為了實現登錄界面向兩個分支進行跳轉,這中間還會有一個空文本的文件,為頁面的
跳轉提供一個方向(判斷)。
業務邏輯:
首先4個頁面,demo.html(登錄界面)、login.jsp(判斷)、login_success.jsp(成功界面)、login_failure.jsp
(失敗界面)。
登錄界面的表單action屬性指向login.jsp,用戶點擊提交(登錄)按鈕之后,向服務器發出請求(request)
login.jsp收到了請求,然后就開始分析:
1 <%@ page language="java" contentType="text/html; charset=utf-8" 2 pageEncoding="utf-8"%> 3 <% 4 request.setCharacterEncoding("UTF-8"); 5 String username= request.getParameter("username");//獲取username值 6 String password = request.getParameter("password");//獲取password值 7 if("admin".equals(username)&&"admin".equals(password)){ 8 session.setAttribute("username", username);//在會話中保留username值供之后的頁面調用 9 request.getRequestDispatcher("login_success.jsp").forward(request, response);//請求轉發 10 }else{ 11 response.sendRedirect("login_failure.jsp");//重定向請求 12 } 13 %>
這個會話就是指從你登錄到登出為一次會話,時間長了會話會失效,這就是為什么登錄一個網站之后,瀏覽了那么
多頁面還是登錄狀態,而時間長了之后(默認是30min)就掉線了。