美文网首页
JSP常用内置对象

JSP常用内置对象

作者: Super_邓帅 | 来源:发表于2016-10-16 17:24 被阅读0次


1、out对象
<h2>out对象各方法示例:</h2>
      <%
        out.println("<h3>静夜思</h3>");
        out.println("床前明月光<br>");
        out.println("疑是地上霜<br>");
        out.flush();
        //out.clear();              //在flush之后用clear()方法,会抛出异常
        out.clearBuffer();          //不会抛出异常
        out.println("举头望明月<br>");
        out.println("低头思故乡<br>");
       %>
       缓冲区大小:<%=out.getBufferSize() %>byte<br>
       缓冲区剩余:<%=out.getRemaining() %>byte<br>
      是否自动清空缓冲区:<%=out.isAutoFlush() %><br>
运行截图
2、request对象

requestDemo.jsp
<body>
    <h1>request对象测试</h1>
    <h2>构建简单测试页面</h2>
    <form name="requestForm" action="requestDemoHandle.jsp" method="post">
        <table>
            <tr>
                <td>用户名:</td>
                <td><input type="text" name="username"/></td>
            </tr>
            <tr>
                <td>爱好:</td>
                <td><input type="checkbox" name="favourite" value="read"/>读书
                    <input type="checkbox" name="favourite" value="sing"/>唱歌
                    <input type="checkbox" name="favourite" value="swimming"/>游泳
                    <input type="checkbox" name="favourite" value="thinking"/>思考
                </td>
            </tr>
            <tr>
                <td colspan="2"><input type="submit" value="提交"/></td>
            </tr>
        </table>
    </form>
    <!-- 用URL传递参数,仍然会中文乱码,request.setCharacterEncoding("UTF-8");就解决不了问题了 -->
    <a href="requestDemoHandle.jsp?username=lisi">URL传递参数</a>
  </body>

requestDemoHandle.jsp

  <body>
        <%
            request.setCharacterEncoding("UTF-8");    //解决中文乱码问题
         %>
        用户名获取:<%=request.getParameter("username") %>
        <br>
        爱好获取:
        <%
            if(request.getParameterValues("favourite")!=null){
                String[] favourites=request.getParameterValues("favourite");
                
                for(int i=0;i<favourites.length;i++){
                    out.println(favourites[i]+"  ");
                }
            }
         %>
  </body>

解决URL传递参数的中文乱码问题:
Tomcat安装目录—>conf—>server.xml打开


其他方法:
<%
    request.setAttribute("password", "123456");   //先设置密码属性
%>
密码:<%=request.getAttribute("password") %><br>   //输出密码
MIME类型:<%=request.getContentType() %><br>
协议类型及版本号:<%=request.getProtocol() %><br>
服务器主机名称:<%=request.getServerName() %><br>
端口号:<%=request.getServerPort() %><br>
字符集:<%=request.getCharacterEncoding() %><br>
客户端Ip地址:<%=request.getRemoteAddr() %><br>
真实路径:<%=request.getRealPath("requestDemo.jsp") %><br>
上下文路径: <%=request.getContextPath() %><br>

3、response对象(很少使用)
<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%>
<%
    response.setContentType("text/html;charset=utf-8");//设置响应的MIME类型
    out.println("<h1>response对象</h1>");
    out.println("<hr>");
    out.println("字符集:"+response.getCharacterEncoding()+"<br>");
    
    PrintWriter outer=response.getWriter();  //获得输出流对象,需要导入java.io.*包
    outer.println("outer输出!<br>");
    
    response.sendRedirect("requestDemo.jsp");  //请求重定向,执行response.jsp时,会跳转到request.jsp页面
%>

4、请求重定向与请求转发的区别

response.sendRedirect("requestDemo.jsp");     //请求重定向方法
request.getRequestDispatcher("requestDemoHandle.jsp").forward(request, response);//请求转发代码

请求重定向:相当于让客户端发出了两次请求,第一次去了response.jsp,结果不行。又让客户端发出第二次请求,直接去了request.jsp
而且,第一次请求的信息,第二次请求是不知道的。

请求转发:response.jsp把后续工作做了,而且地址栏不变,是服务器端行为,实质是一次请求,信息会保留


5、session对象


session保存在服务器当中,一个用户对应一个session

//sessionPage1.jsp
<body>
    <hr>
    <%
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  HH:mm:ss");
        Date date =new Date();
        session.setAttribute("userName", "Simon_Deng");
        session.setAttribute("password", "123456");
        session.setAttribute("age", 21);
        
     %>
     创建时间:
     <% out.println(sdf.format(date));
     %><br>
  已有的属性:<% 
        String[] values=session.getValueNames();
        for(int i=0;i<values.length;i++){
            out.println(values[i]+"  ");
        }
   %> <br>
   userName值:<%=session.getAttribute("userName") %><br>
   session ID:<%=session.getId() %><br>
   <a href="sessionPage2.jsp">sessionPage2页面</a>
  </body>

//sessionPage2.jsp
 <body>
    <hr>
 
   userName值:<%=session.getAttribute("userName") %>
   session ID:<%=session.getId() %>
   
  </body>
sessionPage1.jsp运行界面
sessionPage2.jsp

相关文章

  • 20160925------JSP内置对象

    JSP内置对象 Jsp内置对象是Web容器创建的一组对象,是不使用new关键字就可以使用的内置对象。常用的JSP九...

  • jsp(java server page)九大内置对象

    JSP内置对象(9个常用的内置对象) 1.request对象request 对象是 javax.servlet.h...

  • JSP技术

    1.学习内容 JSP技术入门和常用指令 JSP的内置对象&标签介绍 EL表达式&EL的内置对象 2.JSP技术入门...

  • JSP的内置对象

    JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象。 jsp九大内置对象:常用:ou...

  • jsp内置对象

    jsp的9大内置对象 常用的:outrequestresponsesessionapplication不常用的pa...

  • JSP常用内置对象

    1、out对象 2、request对象 requestDemoHandle.jsp 解决URL传递参数的中文乱码问...

  • 2018-07-19

    jsp的内置对象 内置对象以及四中作用域 jsp内置对象简介 jsp作用域简介:核心知识点 request内置对象...

  • JSP内置对象,Request对象的主要方法

    JSP有哪些内置对象、作用分别是什么 JSP内置对象 - CSDN博客 JSP有9个内置对象: request:封...

  • 2018-10-01JSP内置对象记录

    JSP内置对象 JSP九大内置对象: out request response session applicati...

  • JSP常用的内置对象

    常用的有以下四种内置对象: 一、request对象 request是HttpServletRequest exte...

网友评论

      本文标题:JSP常用内置对象

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