JSP九大内置对象及其应用

    xiaoxiao2021-04-17  42

    JSP提供了9个内置对象用于开发。

    request请求对象response响应对象session会话对象应用application对象out输出对象应答与请求的page对象获取web.xml配置信息的config对象获取异常信息exception对象页面上下文的pageContext对象
    request.getRequestDispatcher("index.jsp").forward(request,response);//请求转发(客户端行为) 转发后对象会保存 URL地址不会改变 response.sendRedirect("index.jsp");//请求重定向 (服务端行为) 前一次请求对象不会保存 地址栏会改变 本质上等同于两次请求 12 12

    request请求对象  request对象封装了客户端提交的HTTP请求信息,适用于处理客户端提交的信息,在开发web应用时经常用到request对象获取请求参数的值和获取cookie数据等。

    <%--发送一个请求到deletePage.jsp页面并传递一个名为"id"的参数。 --%> <a href="deletePage.jsp?id=123"></a> <%--在deletePage.jsp可以通过request对象的getParameter方法获取传递的参数值--%> <% String id=request.getParameter("id"); %> 1234567 1234567

    解决中文乱码的问题

    //获取访问请求参数时的乱码 String name=new String(request.getParameter("username").getBytes("iso-8859-1"),"UTF-8"); //获取表单提交的信息乱码 在获取表单信息前加上:request.setCharacterEncoding("utf-8"); String name=request.getParameter("username"); String pass=request.getParameter("password"); 123456789 123456789 一、获取客户机环境信息常见方法: 1.getRequestURL方法 获得客户端发出请求时的完整URL。 2.getRequestURI方法 获得请求行中的资源名部分,即不包含参数。 3.getQueryString方法 获得请求行的参数部分。 4.getRemoteAddr方法 获得发出请求的客户机的IP地址。 5.getRemoteHost方法 获得发出请求的客户机的完整主机名。 6.getRemotePort方法 获得客户机所使用的网络端口号。 7.getLocalAddr方法 获得WEB服务器的IP地址。 8.getLocalName方法 获得WEB服务器的主机名。 9.getMethod方法 获得客户机请求方式。 二、获得客户机请求头: 1.getHeader(String name)方法 获得http协议定义的文件头信息 2.getHeaders(String name)方法 返回指定名称的request Header的所有值,结果是一个枚举型的实例 3.getHeaderNames()方法 返回指所有的request Header的名称,结果是一个枚举型的实例 1234567891011121314151617181920212223242526 1234567891011121314151617181920212223242526

    应用request对象域  request可视为一个域,可以应用setAttribute()方法在域范围内存放数据。

    //name:转发后的页面获取数据时通过这个变量名来获取数据。 //object:指定要在request范围内传递的数据,为object类型。 request.setAttribute(string name,Object object); //在request范围内通过getAttribute()方法获取变量值 request.getAttribute("name"); 123456 123456

    response响应对象

    操作HTTP头信息 //通过response对象可以设置HTTP响应报头,其中常用的是设置相应的内容类型、禁用缓存、设置页面自动刷新和定时跳转 //(1)禁用缓存 response.setHeader("Cache-Control","no-store"); response.setDateHeader("Expires",0); //(2)设置页面自动刷新 response.setHeader("refresh","10"); //(3)定时跳转网页 response.setHeader("refresh","5;URL=Login.jsp"); 12345678 12345678 设置MIME类型 //默认情况下,jsp页面采用的内容类型是:text/html,即HTML或文本数据,可通过setContentType更改 response.setContentType(String type); //type 可以是:text/html text/plain application/x_msecel 和 application/msword 12345 12345 实现页面重定向  执行重定向后request的属性全部失效,并开始一个新的request对象 response.sendRedirect(String newPath); //newPath可以是目标路径、相对路径也可以是不同主机的其他URL地址 123 123

    out输出对象

    向客户端浏览器输出信息 out.print(); out.println(); 12 12 管理缓冲区 out.clear(); 清除缓冲区的内容 out.clearBuffer(); 清除当前缓冲区的内容 out.isAutoFlush(); 检测当前缓冲区已满时是自动清除,还是抛出异常 out.flush(); 刷新流 out.getBufferSize();获取缓冲区的大小 12345 12345

    Session会话对象  session作用于同一浏览器中,在各个页面共享数据,如果一个会话在长时间不向服务器发出请求,session对象就会消失,这个时间取决于服务器。

    //创建和获取会话 session.setAttribute(String s,Object object); session.getAttribute(String s); //移除会话中的数据 session.removeAttribute(string s); //设置会话有效时间 session.setMaxInactiveInterval(3600); //销毁session session.invalidate(); 1234567891011121314 1234567891011121314

    应用application对象  用于保存应用程序中的公共数据,与session对象相比,生命周期更长,类似系统的全局变量。  在服务器启动时自动创建,在服务器停止时销毁。  主要用于保存,读取或移除应用程序环境变量,如网站的访问次数和微信聊天信息。

    application.setAttribute(string s,Object o); //保存数据 application.getAttribute(String s); //获取指定的application对象 application.getAttributeNames(); //获取所有的application对象 application.removeAttribute(String s); //移除指定名称的属性 1234 1234

    配置web应用的初始化参数:在web.xml文件中设置。

    // application访问应用程序初始化参数的方法 application.getInitParameter(String s); application.getAttributeNames(); 123 123

    application实现网页计数器

    <% //获取application中存放的visitCount值 Integer visitCount=(Integer)application.getAttribute("visitCount"); //判断visitCount是否为空 if(visitCount==null){ visitCount=1; }else{ visitCount++; } //将visitCount保存到application中 application.setAttribute("visitCount",visitCount); %> 您是第【<%=visitCount%>】位访客! 12345678910111213 12345678910111213

    应答与请求的Page对象  page对象是包含当前servlet接口引用的变量,可以看做是this的关键字的别名。

    //page对象的常用方法 page.getClass(); //返回当前object对象 page.hashCode(); //返回该object的哈希代码 page.toString(); //将该object类转化为字符串 page.equals(Object object);//比较当前对象与制定对象是否相等 12345 12345

    页面上下文的pageContext对象  pageContext是一个很特殊的对象,通过他可以获取JSP页面的request、response、session、application、exception等对象。该对象的创建和初始化由容器完成,在JSP页面中可以直接使用pageContext对象。

    pageContext.removeAttribute(string s);//删除指定范围内的制定属性 pageContext.setAttribute(string s,Object o);//为指定范围内的属性设置属性值 //pageContext.getApplication;//返回Application对象 pageContext.getOut();//返回out对象 pageContext.getSession();//返回Session对象 pageContext.getResponse();//返回getResponse对象 pageContext.getRequest();//返回Request对象 pageContext.forward(string s);//把页面转发到另一个页面 pageContext.getAttribute(string s);//获取参数值 pageContext.getAttributeNamesInScope(int scope);//获取某范围的参数名称的集合,返回值为java.util.Enumeration对象; pageContext.getException(); //返回Exception对象 123456789101112 123456789101112

    获取web.xml配置信息的config对象  config对象主要用于获得服务器的配置信息,通过pageContext对象的getServletConfig()方法可以获取一个Config对象。  当初始化一个servlet时,容器把某些信息通过config对象传递给这个servlet。  开发人员可以在web.xml文件中为应用程序环境中的servlet程序和JSP页面提供初始化参数。

    config.getServletContext();//获取Servlet上下文 config.getServletName();//获取Servlet服务器名 config.getInitParameter(stirng s);//获取服务器所有初始化参数名称 返回值为java.util.Enumeration对象; config.getInitParameterNames();//获取服务器中name参数的初始值 1234 1234

    获取异常信息exception对象  exception对象用来处理JSP文件执行时发生的所有错误和异常,只有在page指令中设置isErrorPage属性值为TURE的页面才可以使用,在一般的页面中使用无法编译JSP文件。

    exception.getMessage(); //返回exception对象的异常信息字符串 exception.getLocalizedmessage();//返回本地化的异常错误 exception.toString();//返回关于异常错误的简单信息描述 exception.fillInstackTrace();//重写异常错误的栈执行轨迹
    转载请注明原文地址: https://ju.6miu.com/read-674175.html

    最新回复(0)