"session可以用来做什么?-韩顺平servlet/jsp ppt"
在Web开发中,Session是一种重要的会话管理机制,主要用于在多个相关页面之间保持用户状态。以下是关于Session的详细说明:
1. **网上商城中的购物车**:在电商网站中,购物车功能需要记录用户的选购商品,即使用户浏览了不同的页面,购物车内的商品也不会丢失。这时,Session就可以用来存储用户的购物车信息,每次用户请求新的页面时,服务器都会检查Session中的购物车数据并呈现给用户。
2. **保存登录用户的信息**:登录验证成功后,为了防止用户每次访问新页面都需要重新输入用户名和密码,开发者通常会将用户信息(如ID、用户名、权限等)存储在Session中。这样,只要Session有效,用户在整个会话期间都能保持登录状态。
3. **共享数据**:Session允许开发者将某些数据放入其中,以便在同一个用户的多个页面间共享。例如,用户填写的一部分表单数据可以在后续的操作中继续使用,而无需用户重复输入。
4. **防止非法访问**:通过检查Session中的特定标识,服务器可以判断用户是否已登录或是否有权访问特定页面,从而防止未授权的用户进入敏感区域。
理解Session的概念,可以将其视为一个键值对的存储容器,存在于服务器端。每个用户都有一个独立的Session,用于存储其特有的数据。这个容器中的每条记录包括一个属性名(String类型)和对应的属性值(Object类型)。由于Session存储在服务器端,相对于客户端的Cookie而言,它更安全,因为数据不会暴露给用户。
随着Web技术的发展,出现了多种动态网页技术,包括:
- **CGI(Common Gateway Interface)**:CGI是最早的动态网页技术,虽然功能强大但效率较低,且编程复杂。目前,它在Linux/Unix环境中仍有应用,但已经较少用于新建的Web项目。
- **ASP(Active Server Pages)**:ASP结合HTML、JavaScript或VBScript以及COM组件,提供了简单易学的动态网页开发方式。然而,由于与Windows系统和IIS紧密关联,其安全性、扩展性和跨平台性存在局限。
- **PHP**:PHP以其跨平台性、数据库兼容性和免费特性受到欢迎,但安装配置相对复杂,且在企业级支持方面稍显不足。
- **JSP(JavaServer Pages)**:JSP结合HTML、Java代码和JSF(JavaServer Faces)等技术,提供了一次编写、到处运行的便利,具备良好的跨平台性和可伸缩性。但其复杂度较高,且对服务器资源的需求较大。
这些技术各有优缺点,开发者需根据项目需求和环境选择合适的方案。Session作为Web开发中的重要工具,无论是在传统的CGI、ASP,还是现代的PHP、JSP中,都有广泛的应用。