jsp 9中内置内置对象
1、pageContext 2、request
3、reponse 4、session
5、application 6、config
7、out 8、page 9、exception
4种属性范围
page
request
session
application
<a href="">属于客户端跳转
客户端跳转、服务器跳转
page属性的setAttribute(String name,Object value,int scope)
PageContext.PAGE_SCOPE
浏览器默认编码为UTF-8
参数传递可以通过URL重写或者表单传递
?paarr1=sfsaf&par2=323
直接输入地址访问页面本身就是get提交方式,而post只是应用在表单上
get一般存放4-5kb的数据
Enumeration enu =request.getParameterNames()
String paramValue[]=request.getParameterValues(paramName)
Enumeration enu = request.getHeaderNames();
while(enu.hasMoreElements()){
String headerName = (String)en.nextElement();
String headerValue = request.getHeader(headerName)
}
头信息中包含了一些与具体请求/相应相关的信息
request内置对象中isUserInRole()方法完成
conf/tomcat-users.xml
reponse常用方法:addCookie(Cookie cookie)
setHeader(String name,String value)
sendRedirect(String location)
设置头信息
reponse.setHeader("refresh","2"); //设置每两秒一刷新
response.setHeader("refresh","3;URL=hello.htm") //3秒后跳转到hellp.htm
设置头信息也可以这样使用:
<META HTTP-EQUIV="refresh" CONTENT="3;URL=hello.htm">
当一个请求页面时动态页面是动态页,则肯定要经过web container进行到吗的拼凑操作
而如果是静态请求,则直接读取文件系统。
设置头信息跳转和response.sendRedirection()跳转一样,都属于客户端跳转吗,<a>,<jsp:forward>
1、服务器跳转和客户端跳转区别:
a、跳转过之后地址栏
b、request属性能否保存到跳转页
c、执行到跳转语句会立即进行跳转而客户端跳转则不
jessionId
系统自动设置的,在每一个客户端访问服务器时,服务器为了明确区分每一个客户端,都会自动设置一个jessionid的
cookie表示用户唯一身份标识
reponse.setHeader("Set-Cookie","MLDN=www.MLDNJAVA.cn")
HttpSession接口常用方法
getId()、getCreateionTime()、getLastAccessedTime()、isNew()、invalidate()、getAttribute()
4中会话跟踪技术
1、通过session提供方法保存
2、使用cookie保存信息
3、通过表单的隐藏域保存信息
4、通过地址重写方式保存信息
session 的isNew()方法判断是否是否第一次访问。
getCreationTime
getLastAccessedTime()
application对象
由ServletContext接口实例化对象
application.getRealPath("/") //获得当前目录下对应的真实路径
this.getServletContext() = application