java web 学习 --第七天(Java三级考试)
第六天的学习内容如下:http://www.cnblogs.com/tobecrazy/p/3462244.html
application
application对象的方法与应用:
① setAttribute(String name, Object object) 把一个对象数据和一个属性绑定,并将这个对象数据放在servlet上下文环境中
② getAttribute(String name) 根据指定的属性名返回绑定的对象
③ removeAttribute(String name) 根据指定的属性名从servlet上下文环境中删除指定名称的属性
④ getAttributeNames() 返回一个Enumeration类型的枚举对象实例,其中包含servletContext对象实例内所有属性名
application对象其实就是ServletContext类对象的实例
jsp页面中的application对象实现了不同用户之间的数据共享功能在其中可以存放全局变量,生命期直到web服务器的关闭,在此期间application对象将一直放在内存中,与session对象不同系统中任何一个用户操作application对象并对其进行了修改,都将会影响到其他用户的访问。Application对象其实都是同一个,所有用户都共享这个内置的application对象。同一个页面中不可以出现两个同名的application对象
实例:使用application对象统计系统访问总人数,新建index.jsp页面
在head标签之间添加
<% /*Integer count=null; synchronized(application) { count=(Integer)application.getAttribute("counter"); if(count==null) count=new Integer(0); count=new Integer(count.intValue()+1); application.setAttribute("counter",count); }*/ Integer onLineCounter=(Integer)application.getAttribute("counter"); if(onLineCounter==null) { onLineCounter=new Integer(0); } int nowTotalCounter=onLineCounter.intValue()+1; synchronized(application) { application.setAttribute("counter",new Integer(nowTotalCounter)); } %>
之后在body添加
<%= nowTotalCounter %
体验application对象的生命期
如果关闭web服务器再重新启动,application对象就会销毁,再次访问index.jsp计数器便会从0开始
exception
exception对象需要在jsp的页面中应用page指令,设置isErrorPage属性为true 既<%@page isErrorPage=”true” %> ,Jsp才会创建出exception对象
exception对象中的方法:
① getMessage() 返回错误信息
② printStackTrace() 以标准错误的形式输出错误和错误堆栈
③ toString() 以字符串形式返回异常信息
exception 应用实例:
在error.jsp 添加如下代码
设置isErrorPage=”true”
<%@page isErrorPage="true"%>
在body标签中添加
<table><tr><td> <% out.print("Exception information"+exception.getMessage()); //get error message%><br></td></tr> <tr><td> <br>Stack Trace is: <%java.io.CharArrayWriter cw= new java.io.CharArrayWriter(); java.io.PrintWriter pw=new java.io.PrintWriter(cw,true); exception.printStackTrace(pw); out.print(cw.toString()); %> </td></tr></table>
在login.jsp添加
引入error message 的jsp页面
<%@ page isErrorPage="true" errorPage="error.jsp" %>
在body标签添加
<%
int x=0;
int y=3/x;
%>
再次访问login.jsp 就能看到exception,注意此时地址栏的URL还是login.jsp但是显示的错误却是error.jsp的内容,可见servlet是通过请求转发的方式实现的
Exception information/ by zero |
Stack Trace is: java.lang.ArithmeticException: / by zero at |
java web 学习 --第七天(Java三级考试)的更多相关文章
- java web 学习 --第九天(Java三级考试)
第八天的学习内容如下:http://www.cnblogs.com/tobecrazy/p/3468458.html Java servlet 技术 Servlet是使用java servlet应用程 ...
- java web 学习 --第一天(Java三级考试)
1.Servlet servlet是运行在web server或 application server端的Java程序,主要用于在服务器端产生动态内容. servlet 在服务器端主要有以下作用 读取 ...
- Java Web学习(十一)Java过滤器
一.引言 上一篇文章学习了java三大器的拦截器,拦截器主要是针对于action请求进行拦截处理的,那么对于requst的一些信息如果在调用前,想先进行过滤和处理,那么就要使用到第二个神器,也就是本文 ...
- java web学习总结(七) -------------------HttpServletResponse对象(一)
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...
- java web 学习 --第八天(Java三级考试)
第七天的学习内容:http://www.cnblogs.com/tobecrazy/p/3464231.html EL表达式 EL : Expression Language 使用EL表达式可以减少& ...
- java web 学习 --第二天(Java三级考试)
第一天的学习在这http://www.cnblogs.com/tobecrazy/p/3444474.html 2.jsp 基础知识 Jsp页面中的Java脚本主要有3部分:声明(Declaratio ...
- Java Web学习(七)HttpServletResponse(客户端响应)
一.定义 HttpServletResponse对象代表服务端的响应,通过这个对象提供的方法,可以向客户机输出数据. 二.常用方法 在JavaWeb开发中,只要是写URL地址,那么建议最好以" ...
- [原创]java WEB学习笔记36:Java Bean 概述,及在JSP 中的使用,原理
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- [原创]java WEB学习笔记18:java EE 中的MVC 设计模式(理论)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- asp.net mvc 4 高级编程学习笔记:第三章 视图(2)
页面布局 asp.net MVC中提供了布局的支持,默认情况下才布局文件保存到 /View/Shared/目录下的_Layout.cshtml,View目录有个_ViewStart.cshtml文件, ...
- MainData仿Backbone Model式 数据模型记录器
MainData仿Backbone Model式 数据模型记录器主要思想:将 数据记录处理 和 因为数据变化而产生的页面渲染 两者解耦, 让页面元素可以与数据进行关联绑定,杜绝因为遗忘或是逻辑复杂导致 ...
- git checkout -b 的详细讲解
创建分支: $ git branch mybranch 切换分支: $ git checkout mybranch 创建并切换分支: $ git checkout -b mybranch 更新mast ...
- 网络安全&信息安全&系统安全常用名词汇总
拖库(脱裤) 隐写术 拖库(脱裤) 隐写术 拖库(脱裤) 隐写术 拖库(脱裤) 隐写术
- poj.1703.Find them, Catch them(并查集)
Find them, Catch them Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I6 ...
- 关于网页控件设置成disabled以后,提交不到后台的问题
在开发的时候经常遇到这样的问题,就是需要设置某个控件不可编辑,这个控件可能是一个input文本框,可能是一个select下拉列表 遇到这样的问题,一般有两种处理方法 第一种是将input 控件添加 d ...
- JAVA Io 缓冲输入输出流
java中提供带缓冲的输入输出流.在打开文件进行写入或读取操作时,都会加上缓冲,提高了IO读写性能. 1. BufferedInputStream 缓冲输入流 2. BufferedOutputStr ...
- Java序列化技术与Protobuff
http://www.cnblogs.com/fangfan/p/4094175.html http://www.cnblogs.com/fangfan/p/4094175.html 前言: Java ...
- objc@interface的设计哲学与设计技巧
blog.sunnyxx.com 我是前言 学习objc时,尤其是先学过其他编程语言再来看objc时,总会对objc的类声明的关键字interface感到有点奇怪,在其它面向对象的语言中通常由clas ...
- 怎样删除一键GHOST 文件件名为~1的备份文件?
早些时候备份过系统,但是后来觉的该备份系统不够完美,想删除.可是备份文件被保护,无法删除.(1)在网上查看了一下: start X:\~1 attrib -s -h -r X:\~1\C_PAN.GH ...