JSP学习笔记2

来源:互联网 发布:linux执行命令的过程 编辑:程序博客网 时间:2024/05/22 07:52

JSP隐式对象

out对象

<%    out.println("大傻子!");    out.print("小可爱");    out.newLine();%>

网页不换行,网页源代码换行。

<body>大傻子!小可爱</body>
<%    out.println("当前缓冲区大小:" + out.getBufferSize());    out.println("<br/>");    out.println("当前缓冲区剩余字节数目:" + out.getRemaining());%>

浏览器输出:
out

jsp默认缓冲区大小8kb,page中buffer属性可以改变缓冲区的大小。

<%@ page buffer="10kb" %>

out.flush()可保存缓冲区的数据。

<%    out.println("大傻子!");    out.print("小可爱");    out.newLine();    out.println("<br/>");    out.flush();    out.clearBuffer();    out.println("当前缓冲区大小:" + out.getBufferSize());    out.println("<br/>");    out.println("当前缓冲区剩余字节数目:" + out.getRemaining());%>

即使out.clearBuffer()方法清除了缓冲区,之前的仍然可以输出到浏览器中,若没有out.flush()方法,便不可以输出到浏览器中。
out.clear()方法与out.clear()方法类似,但是,若果clear()方法前有flush()方法,会抛出异常,浏览器只输出异常出现之前的语句。

Request对象

<body><form action="" method="get"><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") %><br/></body>

Response对象

<% response.setHeader("Cache-Control", "no-cache");response.setIntHeader("Refresh", 5);out.println(new Date().toString() + "<br/>");%>

setHeader(“name”,”value”);

<% response.sendRedirect("http://www.baidu.com");%>

跳转界面

<%Cookie myCookie = new Cookie("cookie1","mm");myCookie.setMaxAge(60);response.addCookie(myCookie);%>

设置cookie。

Session对象

session的唯一标识符:<%= session.getId() %><br/>session的创建时间:<%= new Date(session.getCreationTime()) %><br/>session的最后访问时间:<%= new Date(session.getLastAccessedTime()) %><br/>session的失效时间:<%= session.getMaxInactiveInterval() %><br/>

web.xml中修改session失效时间

  <session-config>  <session-timeout>10</session-timeout>  </session-config>

重启Tomcat,刷新浏览器,输出显式失效时间仍为1800,清除Tomcat Server工作路径,刷新浏览器,失效时间变为600。

Application对象
Application对象比Session对象生命周期更长。

服务器信息:<%= application.getServerInfo() %><br/>应用名称:<%= application.getServletContextName() %><br/>主机名称:<%= application.getVirtualServerName() %><br/>

getVirtualServerName()在低版本的Tomcat中不支持,我用的0.7的Tomcat不支持。

做一个页面访问次数计数器。

<%    Object object = application.getAttribute("counter");    if(object == null) {        application.setAttribute("counter", 1);        out.println(1 + "<br/>");    } else {        int n = Integer.parseInt(object.toString());        n++;        out.println(n + "<br/>");        application.setAttribute("counter", n);    }%>

浏览器输出访问次数,更换其他浏览器,计数加一,多个浏览器共用一个counter。

Config对象

不常用,实例失败,无所谓。

Page对象

<%    out.println("page对象的字符串:" + page.toString());%>

浏览器输出:age对象的字符串:org.apache.jsp.config_jsp@4d299a20
其中,org.apache.jsp.config_jsp是JSP转换为Servlet之后所对应的Java类的完全限定名,4d299a20是对应的page对象的HashCode值。

原创粉丝点击