认识JSP内置对象
out对象
request对象
response对象
Cookie *** 作
内置对象:指在JSP页面中内置的不需要定义就可以在网页中直接使用的对象
内置对象预定义的原因:
因为这些内置对象有些能够存储参数,有些能够提供输出,还有些能提供其他的功能,JSP 程序员一般情况下使用这些内置对象的频率比较高
out 对象还可以实现对应用服务器上的输出缓冲区的管理,以下是一些常用的与管理缓冲区有关的函数:
void close():关闭输出流,从而可以强制终止当前页面的剩余部分向浏览器输出
void clearBuffer():清除缓冲区里的数据,并且把数据写到客户端去
void clear():清除缓冲区里的数据,但不把数据写到客户端去
out 对象一些常用的与管理缓冲区有关的函数:
int getRemaining():获取缓冲区中没有被占用的空间的大小
void flush():输出缓冲区的数据。out.flush()函数也会清除缓冲区中的数据,但是此函数先将之前缓冲区的数据输出至客户端,然后再清除缓冲区的数据
int getBufferSize():获得缓冲区的大小
out管理缓冲区使用得比较少,因为通常使用服务器端默认的设置,而不需要手动管理。
request包含的方法
String getServletPath():获得客户端请求服务器文件的路径
String getQueryString():得到 URL 的查询部分,对 post 请求来说,该方法得不到任何信息
String getServerName():得到服务器的名称
String getServerPort():得到服务器端口号
String getRemoteAddr():得到客户端的 IP 地址
String getParameter(String name):获取表单中单个标签属性name的值,比如:输入框
String[] getParameterValues(String name):获得标签里面的多个name属性的值,比如:多选框
response 与 reuqest 是一对相对应的内置对象,response 可以理解为客户端的响应,request可以理解为客户端的请求,二者所表示范围是相对应的2 个部分,具有很好的对称性。 response对应的类(接口)是:javax.servlet.http.HttpServletResponse
重定向方法二:
Jsp动作指令
正确的:
<%
Response.sendRedirect(“https://www.baidu.com”)
%>
错误的:jsp动作指令只能在同一个Web应用程序内的资源之间转发请求
<%
%>
Cookie
客户端会话技术
默认有效期,一次会话结束,Cookie会终止,打开浏览器到关闭浏览器
Cookie *** 作主要用到以下几个方法:
Cookie c=new Cookie(“account”,acc)://创建Cookie对象,绑定数据
response.addCookie(Cookie c)://通过该方法,将 Cookie 写入客户端。
Cookie.setMaxAge(int second)://通过该方法,设置 Cookie 的存活时间,参数表示存活的秒数。
从客户端获取 Cookie 内容,主要通过以下方法:
Cookie[] request.getCookies():读取客户端传过来的 Cookie,以数组形式返回。
在读取数组之后一般需要进行遍历。
String value=
for(int i=0;i
if(cookies[i].getName().equals(“account”)))
acc=cookies[i].getValue();
break;
}
Cookie也不是安全的,因为客户端存储的Cookie文件可以被别人获取
方法有以下几种
替代 Cookie。将数据保存在服务器端,可选的是 session方案。
及时删除 Cookie。
要删除一个已经存在的 Cookie,有以下几种方法:
给一个 Cookie 赋以空置。
设置 Cookie 的失效时间为当前时间,让该 Cookie 在当前页面的浏览完之后就被删除了。
通过浏览器删除 Cookie。如在 IE 中,可以选择“工具”——“Internet 选项”—— “常规”,在里面点击“删除 Cookies”,就可以删除文件夹中的 Cookie。
禁用 Cookie。很多浏览器中都设置了禁用 Cookie 的方法,如 IE 中,可以在“工具” 。
——“Internet 选项”——“隐私”中,将隐私级别设置为禁用 Cookie。
利用session开发购物车
session其他API
application对象
其他对象
购物车需求例子
在一般情况下,如果用户挑选了多个物品,可以将物品放在一个集合内。
实际上,JSP中的内置对象session,就是跨页面保持的,当访问网站时,服务器端已经分配了一个session对象给用户使用,对于同一个用户,不管在哪个页面,他使用的都是同一个session。
session,是JSP九大内置对象之一,它对应的类(接口)是:javax.servlet.http.HttpSession。
针对放入的提醒:
如果两次调用 setAttribute(String name,Object obj);并且 name 相同,那么后面放进去的内容将会覆盖以前放进去的内容
setAttribute(String name,Object obj);的第二个参数是 Object 类型,即可以放入 session的不仅仅是一些简单字符串,还可以是 Object。集合、数据结构对象都可以放入session,大大提升了session的功能。
实际项目中,可以使session中的内容多种多样。为了将session里面的内容很好地分门别类,可以将这几种物品先放在一个集合中,然后将集合放入session中, *** 作更加方便。
下面用一个简单的案例来实现:显示某个页面被访问的次数。很显然,这个次数应该被所有客户所知,因此,可以使用application实现。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)