1.JSP内置对象不能在JSP申明部分使用,因为对象都是在_jspService()方法中实例化的。
2.JSP对象范围分为application,session,request和page4个范围。application主要是应用程序级别一般用于多个servlet和JSP之间传递数据,并且读取web应用的配置参数。
3.servlet中获取application对象:ServletContext sc=getServletConfig().getServletContext();
获取配置文件web.xml文件信息
4.config在servlet的作用,先在jsp代码中加入如下片段:
name:
age:
在web.xml中配置servlet信息
configjj
/index.jsp
name
aaaa
age
28
configjj
/configss
5.exception在异常处理的使用,需要指定jsp页面为异常处理页面isErrorPage="true"
6.pageContext代表页面上下文,主要在jsp之间共享数据,可以在page,request,session,application范围获取变量。
以下是获取和设置变量代码,可以设置具体范围,默认是page
并且它还可以获取其他对象:Request,Response,Config,application,Session
pageContext.getRequest()
pageContext.getResponse()
pageContext.getServletConfig()
pageContext.getServletContext()
pageContext.getSession()
7.request对象是jsp中重要的对象,封装了一次请求,参数也被封装进去。它提供了获取参数的方法也提供了获取请求头的方法,第一种是客户提供(表单中)第二种是浏览器自动添加的。
获取参数:
--获取参数值
--获取参数名和参数值的集合
--获取参数名的集合
--获取参数对应的多个值集合
注:有get和post2种方式发送请求参数,get放的参数小(不大于2K)post大,get在浏览器地址后面添加因此不安全,post是在header中传输内容相对安全,在表单的method中就可以设置提交请求是什么方式。但是对于get方式请求带参数的方式,参数中有汉字则取参数就要换一个方式了(不然取出是乱码),如下:
方法一:
out.println("原始查询字符串:"+rawQuerystr);
String queryStr=URLDecoder.decode(rawQuerystr, "gbk");
out.println("解码后的查询字符串:"+queryStr);
String[] paramPair=queryStr.split("&");
%>
方法二:
out.println("原始查询字符串:"+rawQuerystr);
byte[] rawBytes=rawQuerystr.getBytes("ISO-8859-1");--转化二进制
String queryStr=new String(rawBytes,"gb2312");--在解码为中文
out.println("解码后的查询字符串:"+queryStr);
String[] paramPair=queryStr.split("&");
%>
获取请求头:
--获取指定请求头值
--获取所有请求头的名称
--获取指定请求头的多个值
--获取指定请求头值并转换为整数