jsp九大内置对象
内置对象为自带的,不需用new就能使用
1,out:输入对象,向客户端输入
//打印语句
out.print();
2,request:请求对象,存储“客户端向服务器端发送的请求信息” request对象常见的方法:
String getParameter(String name);//根据key获取参数
String getParameterValues(String name)//根据key返回多个字段值
void setCharactorEncoding("编码格式")//设置的是post请求方式的编码
getRequestDispather().forwarfd()//请求转发,从a跳转到b
ServletContext getServletContext()//获取项目的tServletContext对象
String..getRemoteAddr()//获取客户端的ip地址
get和post的提交方式区别
- get方式请求 请求数据最大4-5kb,如果请求数据包含大文件,图片等,会出现地址栏无法容纳报错。文件上传操作必须是Post请求
- GET提交的数据放在URL中,POST则不会。这是最显而易见的差别。这点意味着+ + GET更不安全(POST也不安全,因为HTTP是明文传输抓包就能获取数据内容,要想安全还得加密)
- GET回退浏览器无害,POST会再次提交请求(GET方法回退后浏览器再缓存中拿结果,POST每次都会创建新资源)
- GET提交的数据大小有限制(是因为浏览器对URL的长度有限制,GET本身没有限制),POST没有GET可以被保存为书签,POST不可以。这一点也能感受到。
3, response对象提供的方法
addCookie(Cookie cookie);//向客户端增加cookie对象
void sendRedirect(srting location)//重定向
void setCharacteEncoding("UTF-8")//设置编码
void setContentType();//设置显示编码
cookie创建对象和重定向与请求转发:
out.print("登录成功");
//创建cookie对象,存放登陆成功的用户名
Cookie cookie = new Cookie("username",name);
//讲cookie加入响应中
response.addCookie(cookie);
//重定向跳转页面,讲cookie信息发送到客户端
//response.sendRedirect("welcome.jsp");
//请求转发
request.getRequestDispatcher("welcome.jsp").forward(request,response);
请求转发与重定向的区别
.请求转发地址栏不变,重定向地址栏发生改变
请求转发,可以获取到request参数(保留第一次请请求的request数据),重定向 request数据丢失
请求次数:请求转发是一次请求, 重定向是两次请求 ----请求转发,在服务器中转发(服务器内部跳转),因此只有一次请求 ----重定向,第一次请求后,服务器将结果反回给客户端,客户端,接到响应后(重 定向的地址),再次向服务器发出请求,因此重定向地址栏地址发生改变。
请求转发运行图
重定向运行图
- 用于指定jsp页面的某些特性
- 语法:
<%@ page 属性名 ="属性值" page 属性值1 = "属性值1">
//常用属性
/*language:指定jsp页面所用脚本语言,默认为Java
import:在jsp页面进行导包
isErrorPage:指定该页面为错误页面
errorPage:指定一个页面为错误页面
pageEncoding:指定页面编码格式*/
5,confing:
- 当前jsp文件配置信息,但是jsp页面通常不需用配置
6,exception:
- 用于显示异常信息,只有在包含isErrorPage = “true” 的页面才会被使用
-常用方法:
/*
getMessage()返回异常信息的异常字符串
getLocalizedmessage()返回本地的错误信息
toString()将异常信息简单描述
*/
eg.
<%= exception.getMessage()%>
7, seesion(会话对象,同一次会话有效)
- 会话对象,同一次会话有效
- 用户访问jsp页面会创建seesion,储存在服务器,session可以调用session.invalidate()方法销毁
//获取和设置session对象的超时时间
int getMaxlnactivelenterval();
void setMaxlnactivelenterval(int var1);
//获取和设置session属性
Objet getAttribute(String var1);
void setAttribute(String var1Objet var2,);
//判断该session是否为新
boolean isNew();
8, appLicaction(全局有用)
- 主要用于servletContext对象的访问
主要方法:
getAttribute(String var1);
void setAttribute(String var1Objet var2,);
//返回server编译器信息
getServerInfo()
//返回指定的url的serverletContext的值
getContext(URl)
9,pageContext(只有当前页面有效)
- 用来获取当前jsp页面所有的内置对象
getRequest()//获取当前JSP页面的请求对象
getResponse() //获取当前JSP页面的响应对象
getSession()//获取和当前JSP页面有联系的会话对象
getServletConfig()// 获取当前JSP页面的ServletConfig对象
getServletContext()//获取当前JSP页面的运行环境对象
getPage()//获取当前JSP页面的Servlet实体
————————————————
版权声明:本文为CSDN博主「小龙人哎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39021393/article/details/81154137
pageContext request session application
pageContext:JSP页面容器,当前页面有效,跳转后无效
request:请求对象,同一次请求有效(重定向有效,请求转发无效)
session:会话对象,同一次会话有效
application:全局对象,全局有效(整个项目有效)
- 以上四个对象共有方法
void setAttribute(String name, Object obj);//设置属性值
Object getAttribute(String name);// 根据属性名查找属性值
void removeAttribute(String name);// 移除属性值