jsp内置对象
来源:互联网 发布:在生产实践中用于数据 编辑:程序博客网 时间:2024/06/03 22:50
一、JSP的九大内置对象:(ace opp rrs)
分别为:aplication、config、exception、out、page、pagecontext、request、response、session
二、request内置对象的基本内容:
1、内置对象是指:由web容器创建的对象,开发人员不需要进行实例化就可以直接使用的对象;
2、request内置对象的作用:服务器用于获取客户端提交的数据;
3、request内置对象的创建时间:在服务端收到客户端发送的请求时创建,它是接收客户端数据的,所以在接收数据时才创建。此时服务端会同时创建request对象和response对象,先创建request对象来接收数据,后创建response对象来响应客户端。
4、request是javax.servlet.http.HttpServletRequest类的对象
5、request的方法:
(1)
<%
out.print("getProtocol()得到的协议类型是:");
out.print(request.getProtocol());
%>
<br/>
getProtocol()得到的协议类型是:HTTP/1.1
(2)
<%
out.print("getScheme()得到的协议名称是:");
out.print(request.getScheme());
%>
<br/>
getScheme()得到的协议名称是:http
(3)
<%
out.print("getServerName()得到的服务器主机名称是:");
out.print(request.getServerName());
%>
<br/>
getServerName()得到的服务器主机名称是:localhost
(4)
<%
out.print("getServerPort()得到的端口号是:");
out.print(request.getServerPort());
%>
<br/>
getServerPort()得到的端口号是:8080
(5)
<%
out.print("getRemoteAddr()得到客户端的IP地址是:");
out.print(request.getRemoteAddr());
%>
<br/>
getRemoteAddr()得到客户端的IP地址是:0:0:0:0:0:0:0:1
(6)
<%
out.print("getRemoteHost()得到客户端主机名称是:");
out.print(request.getRemoteHost());
%>
<br/>
getRemoteHost()得到客户端主机名称是:0:0:0:0:0:0:0:1
(7)
<%
out.print("getServletPath()得到请求的文件的名称是:");
out.print(request.getServletPath());
%>
<br/>
getServletPath()得到请求的文件的名称是:/NewFile.jsp
(8)
<%
out.print("getContextPath()得到的上下文路径是:");
out.print(request.getContextPath());
%>
<br/>
getContextPath()得到的上下文路径是:/second
(9)getParameter(String name):根据name获取表单域或者URL的参数值
(10)getParameterValues(String name):根据name获取同名表单域的值,返回一个String类型的数组
(11)setCharacterEncoding(String encoding):设置request的字符编码格式
(12)getPart(String name):用于获取使用multipart/form-data格式传递的http请求的请求体,通常用于上传文件
(13)getRequestDispatcher():获取getRequestDispatcher对象,用于页面跳转
(14)getAttribute(String key):根据key获取在request存储范围的值
(15)setAttribute(String key, Object ob):向request范围中存储键值对
三、out内置对象:
1、作用:用于向客户端浏览器输出数据;
2、是具有缓冲功能的javax.servlet.jsp.JspWriter类的对象;
3、方法:
(1)print():向客户端浏览器输出数据;
(2)flush():清洗缓冲区;
(3)close():关闭输出流(会在响应后自动关闭);
(4)append():追加;
(5)writer():向客户端写出流(只能是String、char、String[])
四、中文乱码问题:
1、对于post请求:request.setCharacterEncoding("utf-8");
2、get请求乱码问题解决方法:
(1)new String(temp。getBytes(“ISO-8859-1”),“utf-8”);
(2)在Tomcat里的config目录下server.xml中加URIEncoding=“utf-8”;
(3)在eclipse中直接在修改server(使用eclipse一定要修改
五、响应报文
1、响应报文的组成:状态行、响应报头、空行、响应正文
2、响应报头的属性:
(1)HTTP/1.1 200OK 是响应状态;
(2)Content-Length:响应数据的字节数;
(3)Content-Type:响应数据的类型及编码方式;
(4)Date:响应时间;
(5)server:服务器的信息
3、响应状态是反映服务器对对请求的响应结果,响应状态的规则:
(1)1xx:指示信息;
(2)2xx:成功;
(3)3xx:重定向
(4)4xx:客户端错误
(5)5xx:服务器端错误
4、常见状态码:
(1)200 OK:客户端请求成功;
(2)302 Found:客户端得到服务端的302状态码后向服务器发出新的请求;
(3)404 Not Found:请求资源找不到;
(4)500 Server Unavailable:服务器发生不可预期的错误(通常是编码错误)
(5)400 Bad Request:客户端请求语法错误,不能被服务器理解;
(6)401 Unauthorized:请求未经授权;
(7)403 Forbidden:服务器受到请求,但服务器拒绝提供服务;
(8)503 Server Unavailable:服务器当前不能处理客户端的请求,过一段时间可能恢复正常。
六、内置对象response的方法:
1、PrintWriter getWriter():返回可以向客户端输出数据的一个对象
2、void setContentType(String type):设置响应的MIME类型(text/html、text/JavaScript、text/json、text/plain)
3、void sendRedirect(String path):重新定向客户端的请求;
4、setCharaterEncoding(“utf-8”):设置响应的编码方式
七、重定向:JSP中通过response的sendRedirect()方法让页面从一个页面跳转到另一个页面;
请求转发与重定向的区别:
(1)请求转发的地址栏不会变化,重定向地址栏会变成跳转的页面;
(2)请求转发是服务端的行为,重定向是客户端的行为;
(3)请求转发是一个请求,一次可以带数据,重定向是两个请求,所以不能带数据;
(4)请求转发速度速度快,重定向速度慢;
(5)请求转发不能跳转到外部网站,只能在当前项目,重定向可以跳转到外部网站;
- JSP - JSP内置对象
- JSP--JSP内置对象
- JSP内置对象
- JSP内置对象
- JSP内置对象
- JSP内置对象
- jsp内置对象
- JSP 内置对象
- JSP内置对象
- JSP内置对象
- JSP内置对象
- JSP的内置对象
- jsp内置对象集合
- jsp内置对象
- JSP内置对象
- jsp内置对象
- JSP内置对象
- JSP的内置对象
- 类的静态成员的用法
- Matlab的启动方式
- FaceDataset常用的人脸数据库
- 求DAG最长路 板子
- Java异常处理和设计
- jsp内置对象
- Android编译调用FFmpeg API,自己写方法,编译so库
- HDOJ1003(连续最大和)
- 我对产品需求的理解
- 局部变量、全局变量和静态变量的含义和区别
- MySQL中的两种临时表
- Linux管道和命令重定向
- Java实现——数组中连续元素子数组的和最大
- UVA 315