jsp中作用域scope概念
几乎所有的Web开发语言都支持Session功能,Servlet也不例外。 Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。
作用域分为四种,分别为:
page
在当前页面有效(仅用于JSP中)
request
在当前请求中有效
session
在当前会话中有效
application
在所有应用程序中有效
是不是看不太明白?page因为仅用于JSP中,这里只讲述其他三种作用域。首先要声明的一点,所谓“作用域”就是“信息共享的范围”,也就是说一个信息能够在多大的范围内有效。
话说武松一日来到景阳岗,见一旗帜迎风飘扬,旗子上书五个大字“三碗不过岗”。武松叫道:“店家,拿三碗酒来,再切两斤熟牛肉!”店小二应声道:“三碗好酒,二斤熟牛肉啰~~”里面厨师赶忙当当当当切好牛肉,店小二倒上三碗酒,店小二端上前来。
武松咕咚咕咚连干三碗,叫一声“好酒!店家,再来三碗!”小二忙又倒上三碗好酒,武松一饮而尽。就这样前前后后武松一共喝了十八大腕。付了帐刚要走,店小二道: “客官,这前面山上有大虫,客官刚刚喝完十八碗酒恐怕过不得岗,不如在小店暂住一夜,待明天和猎户一同过岗岂不是好?”
之后武松说什么就留待各位看官自己去回忆啦。在这段武松打虎中,大家有没有看到些熟悉的东西?
· 武松: 浏览器。
· 酒馆: 服务器。
· 店小二、厨师: Servlet或者JSP。
· 来三碗好酒!: 浏览器向服务器发出HTTP请求。
·
相关文档:
页面的输入和输出涉及到了Request和Response,由于他们和Jsp中的相似,
下面我们进行详细的解读:
JSP中:
在动态网页开发中,HTML表单是与用户交互信息的主要手段。
使用JSP处理表单请求时,一般遵循这样一种模式,首先,用户通过表单控件输入并提交信息;接着,JSP页面获得表单数 ......
使用JSP大约有下列三种跳转方式:
1. response.sendRedirect();
2. response.setHeader("Location","");
3. <jsp:forward page="" />
经过试验得到下面的一些规则:
一. response.sendRedirect()
此语句前不允许有out.flush(),如果有out.flush(),会有异常:
java.lang.IllegalStateException: Can't send ......
el表达式分类
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
分 类 功能分类 标签名称
Core 表达式操作 out
set
remove
catch
流程控制 if
......
<%
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
List stafflist = ((StaffDAO)ctx.getBean("StaffDAO")).findAll();
request.setAttribute("stafflist",stafflist);
%> ......
servlet中获得项目绝对路径
String filePath=this.getServletConfig().getServletContext().getRealPath("/");
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletCo ......