`

jsp内置对象

    博客分类:
  • jsp
阅读更多
JSP基本语法
jsp的语句一般分为6种:编译语句,声明语句,程序语句,注释语句,运算表达式和动作语句。
编译语句:<%@ 指示名 [属性="属性值"]%>,如<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1" %>
<%@ page contentType="text/html;charset=GBK" %>
<form name="" action="" method="" />
method属性可以设定的有get和post,get表示从服务器上获取数据,post表示向服务器传递数据。get是把参数加到提交表单的Action属性所指的url地址中,值和表单内各个字段一一对应,在url中可以看到,post是通过http post机制将表单内各个字段与其内容放置在html head内一起传送到Action属性所指的url地址,用户看不到参数。

<%@ include file=" " %>在编译阶段执行,引入静态文本html,jsp,在jsp页面被转换成servlet之前和它融合在一起。
<jsp:include page=" " flush ="true" />在请求处理阶段执行。引入执行页面或servlet生成的页面。


forward和sendRedirect的区别
1,当form被提交至a.jsp时,在a.jsp中使用forward()重定向至b.jsp,此时form提交的所有信息在b.jsp中都可以获得,参数自动传递。forward后浏览器地址栏中的url地址不变。
2,sendRedirect()可以带参数传递,比如servlet?username=zhou传至下个页面,同时它可以重定向至不同的主机上,且在浏览器的地址栏中会出现重定向页面的URL地址。

声明语句:<%! 声明语句;[声明语句;]... %>

程序语句:<% java语句 %>

注释语句:<%-- 注释内容 --%>

运算表达式:<%=表达式%>  

动作语句:<jsp:动作名[属性|...]  /> 如 <jsp:useBean id="beanId">    </jsp:useBean>

jsp内置对象
jsp内置对象包括response,request,pageContext,session,application,out,config,page,这些对象在程序中不用声明就可以直接使用,这些内置对象的方法其实是来自于servlet中提供的各种方法,主要来自javax.servlet,javax.servlet.http、javax.servlet.jsp。
1,request对象
request对象的类型来自于javax.servlet.http.HttpServletRequest接口。当客户端请求时,jsp引擎会将客户端的请求信息包装在这个request对象中,请求的信息包括:请求的标头信息,请求方式,参数,客户端主机名称等。

2,response对象
response对象的类型来自于javax.servlet.http.HttpServletResponse接口。主要将jsp处理数据的结果传回到客户端。

3,pageContext对象
pageContext对象存储所有关于jsp程序执行时期所需要用到属性的方法,如session,application,config对象属性。jsp引擎利用JSPFactory.getDefaultFactory()取得预设的JSPFactory对象,然后利用这个JSPFactory对象的getPageContext()方法取得pageContext对象。

4,Session对象
session对象的类型是一个实现javax.servlet.http.HttpSession的接口类。取得的方式是pageContext.getSession()。

5,application对象
与session对象类似,最大的不同之处在于作用域,web服务器会为每个用户创建一个session,多个用户共享一个application。一旦创建application,这个对象将一直存在,直到服务器关闭为止。
application常用于存取环境的信息,因为环境的信息通常存储在ServletContext中,所以常利用application对象来存取ServletContext中的信息。application对象的类型是一个实现javax.servlet.ServletContext接口的实现类,他取得的方式是调用pageContext.getServletContext()。

6,out对象
  out对象的类型是一个实现了javax.servlet.JSP.JSPWriter的接口类,取得方式是pageContext.getOut()方法,主要用来控制管理输出的缓冲区和输出流。

在jsp中使用cookie

cookie是存放在用户硬盘上的一个文本文件,为每个单独的页面创建一个cookie文件,保存用户信息。一般存放在C:\Documents and Settings各个用户下。

写入cookie操作:
<%
		String cookieName="";
		Cookie cookie = new Cookie(cookieName,"value");
		cookie.setMaxAge(365*24*60*60);//设定cookie的存活期为一年,否则超过存活期,浏

览器会将cookie自行删除
		response.addCookie(cookie); //写入cookie
		 %>

cookie写入用户硬盘后,下次用户再次访问的代码:
<%
		Cookie[] cookies = request.getCookies();
		Cookie cookie = null;
		String name =null;
		String value = null;
		for(int i=0;i<cookies.length;i++){
		cookie = cookies[i];
		name = cookie.getName();
		value=cookie.getValue();
		}
		 %>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics