动态页面,说白了,就是根据一定的信息(条件)去改变呈现给用户的内容。
而这里所提到的一定的信息,通常就是指,在一个表单中用户所输入的信息。
先来看一个我们常见的用户登录界面吧。
在这里我们可以看到一共有三个页面,登录界面、登录成功界面、登录失败界面。
但是,实际上为了实现登录界面向两个分支进行跳转,这中间还会有一个空文本的文件,为页面的
跳转提供一个方向(判断)。
业务逻辑:
首先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)就掉线了。
时间: 2024-11-04 10:46:04