JavaWeb知识点总结2

认识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动作指令 <jsp:forword page=””></jsp:forword>

正确的:

<%

  Response.sendRedirect(“https://www.baidu.com”)

%>

错误的:jsp动作指令只能在同一个Web应用程序内的资源之间转发请求

<%

  <jsp:forword page=” https://www.baidu.com”></jsp:forword>

%>

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<cookies.length;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实现。

猜你喜欢

转载自blog.csdn.net/dengfengling999/article/details/124384371