1.什么是JSP内置对象
JSP内置对象是wed容器创建的一组对象
例子:
1 <% 2 int[] value = {60,70,80}; 3 for(int i:value){ 4 out.println(i); 5 } 6 %>
没有进行声明和创建,便可以使用out对象
2.常用的JSP内置对象
JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端与服务器交互的过程中完成不同的功能
1.Request对象 请求对象,用于客户端通过HTTP协议连接传输到服务器端的数据。 如:表单数据、网页地址后的参数
2.Response对象 响应对象,用于向客户端发送信息
3.Out对象 主要用于向客户端浏览器输出数据
4.session对象 用于保持在服务器与客户端之间需要保留的数据,比如网页QQ登录,在会话窗口对话期间,要保持账号的登录
5.Application对象 用于保存用户信息、代码片段的运行环境 它可以被一个容器中的多个用户所共享
6.page对象 用于处理JSP网页,它指JSP页面对象本身,或者代表编译后的对象只有在JSP页面中是合法的 相当于是this
7.exception对象 处理JSP文件执行时发生的错误和异常 只有在page指令中指定才可在本页面中使用exception对象
8.pageContext对象 用于管理网页属性,为JSP页面包装页面的上下文,管理对象的访问
9.config对象 代码片段配置对象,表示Servlet
分类:
1.输出输入类:request对象,response对象,out对象
2.通信控制对象:pageContext对象,session对象,application对象
3.Servlet对象:page对象,config对象
4.处理错误对象:exception对象
request和response(包括两者在什么情况下使用)
request对象主要用于处理客户端请求
request对象常用方法
String getParameter(String name)
根据表单组件名称获取提交数据
String[ ] getParameterValues(String name)
获取表单组件对应多个值时的请求数据
void setCharacterEncoding(String charset)
指定每个请求的编码
RequestDispatcher getRequestDispatcher(String path)
返回一个RequestDispatcher对象,该对象的forward( )方法用于转发请求
3.request对象主要用于处理客户请求
例如:客户输入账户密码 可以用request中的方法进行接受传输
4.request对象常用方法
1.String getParameter() 根据表单组件的名称提交数据
2.String[] getParameter() 获取表单组件多个值时的请求数据
3.void setCharacterEncoding() 指定每个请求的编码
4.RequestDispatcher getRequestDispatcher() 返回一个RequestDispatcher对象,该对象的forward()方法用于转发请求
5.读取数据
String name = request.getParameter("name");读取单个数据
String[] aaa = request.getParameter("aaa");读取多个数据
6.处理中文乱码问题
7.处理中文乱码问题2
打开tomcat文件夹 然后打开conf/server.xml
注意:UTF-8需要加引号,不然会报错
8.JSP内置对象response(不能携带信息)
response对象用于响应客户请求并向客户端输出不同的信息
从服务器检索到信息通过设置response对象的响应参数等响应到客户端
response.sendRedirect("welcome.jsp");
9.如何携带信息跳转
使用转发取代重定向实现页面跳转
转发的作用:在服务器端,将请求发送给服务器上的其他资源,以共同完成一次请求的处理 (其他资源代表其他jsp文件)
转发的实现:RequestDispatcher对象的forward()方法
request.getRequestDispatcher(“welcome.jsp”).foward(request,response);
RequestDispatcher rd = request.getRequestDispatcher("welcome.jsp").foward(request,response);
10.转发和重定向的区别
转发:转发是在服务器端发挥作用,将同一请求在服务器资源间进行传递
客户端浏览器的地址栏不会显示转向后的地址
重定向:重定向是在客户端发挥作用,通过发送一个新的请求实现页面转向
在地址栏中可以显示转向后的地址