zoukankan      html  css  js  c++  java
  • jsp内置对象的使用

    request对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(请求对象)

    <form action="request.jsp" method="post">
            <table>
                <tr>
                    <td>username:</td>
                    <td><input type="text" name="username" value=""></td>
                </tr>
                <tr>
                    <td>hobby:</td>
                    <td><input type="checkbox" name="favor" value="basket">basketball</td>
                    <td><input type="checkbox" name="favor" value="football">football</td>
                    <td><input type="checkbox" name="favor" value="eat">eatting</td>
                </tr>
                <tr>
                    <td colspan="2"><input type="submit" value="SubMit">
                    </td>
                </tr>
            </table>
        </form>
    //request.jsp 
    <%--request处理中文乱码问题 --%> <% request.setCharacterEncoding("utf-8");//解决字符乱码问题,对post有效 request.setAttribute("password", "admin");//保存一些属性的值 %> <%--request获取form表单的信息 --%> username:<%=request.getParameter("username") %><br/> hobby:<% if(request.getParameterValues("favor")!=null) { String []hobby=request.getParameterValues("favor"); for(String s:hobby) { out.println(s); } } %> password:<%=request.getAttribute("password") %><br/> <hr/> <%--request获得客户端的一些信息 --%> 获得请求的页面类型:<%=request.getContentType() %><br/> 获得请求的协议版本:<%=request.getProtocol() %><br/> 获得请求的服务器名字:<%=request.getServerName() %><br/> 获得请求的服务器端口号:<%=request.getServerPort() %><br/> 获得客户端ip地址: <%=request.getRemoteAddr() %><br/>

     response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。(响应对象)

        <%
    PrintWriter outer= response.getWriter();
    outer.println("hello"); //response的getWriter()输出优先级高于内置的out
    out.println("world");
        %>
        

    response.sendRedirect("request.jsp");//请求重定向,执行该操作后,request中的属性全部失效

    session对象
    1.什么是session:session对象是一个JSP内置对象,它在第一个JSP页面被装载时自动创建,完成会话期管理。
    从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。
    2.session对象的ID:当一个客户首次访问服务器上的一个JSP页面时,JSP引擎产生一个session对象,同时分配一个String类型的ID号,JSP引擎同时将这个ID号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象。

    <body>
        session1 //说明同一会话,创建时间相同
        session的创建时间<%=session.getCreationTime() %>
         session id<%=session.getId() %> //同一会话的id相同
        <a href="session2.jsp"></a>
    
    </body>
     <body>
      session2
      session的创建时间<%=session.getCreationTime() %>
      session id<%=session.getId() %>
     //说明同一会话,创建时间相同
      </body>
    <%
    	session.setAttribute("name", "jack");//保存对象的值 
    	 %>
    name: <%=session.getAttribute("name") %>
    
     <%
         session.setAttribute("name", "jack");//保存对象的值 
         session.setAttribute("age", "23");//保存对象的值 
         session.setAttribute("city", "beijing");//保存对象的值 
          %>
    获得保存session对象的集合<%
       String[]a= session.getValueNames();
       for(String str:a)
       {
         out.println(str);
       }
    
     %>

     application对象的使用

    <%
            application.setAttribute("name", "jack");
            application.setAttribute("isLogin", true);
        %>
        city:<%=application.getAttribute("name")%>
        isLogin:<%=application.getAttribute("isLogin")%>
        version:<%=application.getServerInfo()%>
        all of the application attribution:
        <%  
        Enumeration e= application.getAttributeNames();
        while(e.hasMoreElements())
        {
          out.println(e.nextElement());
        } 
        
        %>

    application实现统计网站浏览次数

    <% 
     int number=0;
     if(application.getAttribute("counter")==null)
     {
       application.setAttribute("counter", 1);
     }
     else
     {
      number=Integer.parseInt(application.getAttribute("counter").toString());
      number++;
      application.setAttribute("counter", number);
     }
     number=Integer.parseInt(application.getAttribute("counter").toString());
    %>
    you are the <%=number %>   user 
    //PageContext
    you are the <%=number %> user age is<%=pageContext.getSession().getAttribute("age") %> <% pageContext.forward("index.jsp") ;//跳转到index.jsp页面 %> <% pageContext.include("index.jsp"); %>
  • 相关阅读:
    nginx 限流配置
    redis-sentinel 高可用方案实践
    redis之 主从复制和哨兵
    MySQL架构与业务总结图
    MGR实现分析
    通过 SCQA 的框架来讲故事
    MECE分析法
    如何提高问题的认知高度
    Mac 应用程序不能打开解决方法
    vscode打开文件在同一个tab的问题
  • 原文地址:https://www.cnblogs.com/linhong/p/4248282.html
Copyright © 2011-2022 走看看