美文网首页程序员
web开发日记-JSP内置对象

web开发日记-JSP内置对象

作者: 在南方的北方人_Elijah | 来源:发表于2017-02-16 14:13 被阅读35次

    JSP内置对象

    • out对象:客户端浏览器输出各种数据
    • request对象:封装了请求的各种信息
    • response对象:封装了服务器的响应信息
    • exception对象:封装了jsp执行过程中发生的异常和错误信息
    • config对象:封装了application的配置信息
    • page对象:指向了当前页面
    • session对象:用来保存会话信息,也就是说它可以在同一用户的不同请求之间共享数据。
    • application对象:代表了当前应用的上下问,不同用户之间可以共享信息。
    • pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。

    out对象

    out对象除了对页面输出数据外,还可以管理输出缓冲区。
    默认的缓冲区大小是8kb,通过page编译指令可以更改缓冲区大小,如
    <%@ page buffer = "10kb"%>

    <%
        out.println("text)");
        out.print("elijah");
        out.newLine();
        out.println("缓冲区大小:"+out.getBufferSize());
        out.println("<br />");
        out.println("当前缓冲区剩余字节数目:" + out.getRemaining());
        out.flush();//刷新缓冲区 冲入页面显示
        out.clearBuffer();//清空缓冲区
    %>
    

    Request对象

    request对象大多数方法都是获取客户端提交的数据,如表单,参数,ip,cookie等。

    <form action="" method="post">
        <input type="text" name="username"/>
        <input type="submit" value="submit">
    
    </form>
    
    请求方法名<%=request.getMethod()%><br/>
    
    
    请求资源名<%= request.getRequestURI()%>
    <br/>
    请求使用的协议<%=request.getProtocol()%>
    <br/>
    请求的服务器IP<%=request.getServerName()%>
    <br>
    请求的服务器端口<%=    request.getServerPort()%>
    <br>
    客户端的IP<%=request.getRemoteAddr()%>
    <br>
    
    客户端的主机名<%=request.getRemoteHost()%>
    <br>
    
    
    表单提交的参数<%=request.getParameter("username")%>//访问表单数据 需要用getParameter方法 然后对应表单中的name关键字
    
    
    

    Request对象使用

    创建三个jsp

    register.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <form action="/09/do_register.jsp" method="post">
        用户名 <input type="text" name="userName"/>
        <%--技能--%>
        <%--<input type = "checkbox" name = "skills" value="java" />java--%>
     <%--<br/>   <input type = "checkbox" name = "skills" value="python" />python--%>
      <%--<br />  <input type = "checkbox" name = "skills" value="ruby" />ruby--%>
       <%--<br /> <input type = "checkbox" name = "skills" value="node.js" />node.js--%>
    
        <%--<br/>--%>
        <input type="submit" value="submit"/>
    
        <input type="reset" value="reset"/>
    </form>
    
    </body>
    </html>
    

    do_register.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <%
        String userName = request.getParameter("userName");
        System.out.println("tag");
        String skills = "";
        String[] skillAll = request.getParameterValues("skills");
        if (skillAll!= null&&skillAll.length>0) {
            for (String s : skillAll) {
                skills = s+skills;
            }
        }
        request.setAttribute("userName", userName);
    //添加一个额外参数
    %>
    <jsp:forward page="welcome.jsp"/>
    

    welcome.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    welcome!
    <%=request.getAttribute("userName")//获取属性
    
    %>
    </body>
    </html>
    

    Response对象详解

    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        response.setHeader("Cache-Control", "no-cache");//用于设置网页的缓存策略,no-cache 则表示不会缓存数据
        response.setIntHeader("Refresh",2);//设置头信息 网页每隔两秒刷新一次 设置了一个刷新头
        out.println("date is = " +
                new java.util.Date().toString() + "<br />");
    
        response.sendRedirect("http://www.google.com");//response重定向指令
    %>
    </body>
    </html>
    

    cookie:是由服务器发送的纯文本信息,发送到浏览器后,浏览器将网址和cookie一同提交到服务器。浏览器检查cookie可以识别用户状态等。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%
        Cookie myCookie = new Cookie("elijah", "coder");//设置cookie键值对
        myCookie.setMaxAge(3600);//设置cookie最大存活时间
        response.addCookie(myCookie);//设置cookie
    %>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:web开发日记-JSP内置对象

        本文链接:https://www.haomeiwen.com/subject/hgecwttx.html